diff --git a/.yo-rc.json b/.yo-rc.json index 50c937a..bd5f132 100644 --- a/.yo-rc.json +++ b/.yo-rc.json @@ -28,14 +28,9 @@ "template": "dist/app.template.ejs", "html": "app/index.html", "chunkName": "app", - "excludeChunks": ["welcome"] - }, - "welcome": { - "js": "dist/initialize.welcome.js", - "template": "dist/welcome.template.ejs", - "html": "index.html", - "chunkName": "welcome", - "excludeChunks": ["app"] + "excludeChunks": [ + + ] } }, "libraryAliases": { @@ -60,4 +55,4 @@ } ] } -} +} \ No newline at end of file diff --git a/dist/LoginDialog.d.ts b/dist/LoginDialog.d.ts deleted file mode 100644 index 0b52cfc..0000000 --- a/dist/LoginDialog.d.ts +++ /dev/null @@ -1 +0,0 @@ -export declare function create(_loginMenu: HTMLElement, loginDialog: HTMLElement): void; diff --git a/dist/LoginDialog.js b/dist/LoginDialog.js deleted file mode 100644 index 39d9085..0000000 --- a/dist/LoginDialog.js +++ /dev/null @@ -1,13 +0,0 @@ -export function create(_loginMenu, loginDialog) { - const LOCALSTORAGE_ACCEPT_GENIE_TERMS = 'coral_accept_genie_terms'; - const checkboxAcceptGenieTerms = loginDialog.querySelector('#accept_genie_terms'); - const localStorageValue = localStorage.getItem(LOCALSTORAGE_ACCEPT_GENIE_TERMS); - if (localStorageValue !== null) { - // check the checkbox if it was checked before - checkboxAcceptGenieTerms.checked = (localStorageValue === 'true'); - } - checkboxAcceptGenieTerms.addEventListener('change', function () { - localStorage.setItem(LOCALSTORAGE_ACCEPT_GENIE_TERMS, String(this.checked)); - }); -} -//# sourceMappingURL=LoginDialog.js.map \ No newline at end of file diff --git a/dist/LoginDialog.js.map b/dist/LoginDialog.js.map deleted file mode 100644 index 008b332..0000000 --- a/dist/LoginDialog.js.map +++ /dev/null @@ -1 +0,0 @@ -{"version":3,"file":"LoginDialog.js","sourceRoot":"","sources":["../src/LoginDialog.ts"],"names":[],"mappings":"AAAA,MAAM,UAAU,MAAM,CAAC,UAAuB,EAAE,WAAwB;IACtE,MAAM,+BAA+B,GAAG,0BAA0B,CAAC;IAEnE,MAAM,wBAAwB,GAAqB,WAAW,CAAC,aAAa,CAAC,qBAAqB,CAAC,CAAC;IACpG,MAAM,iBAAiB,GAAG,YAAY,CAAC,OAAO,CAAC,+BAA+B,CAAC,CAAC;IAEhF,IAAI,iBAAiB,KAAK,IAAI,EAAE;QAC9B,8CAA8C;QAC9C,wBAAwB,CAAC,OAAO,GAAG,CAAC,iBAAiB,KAAK,MAAM,CAAC,CAAC;KACnE;IAED,wBAAwB,CAAC,gBAAgB,CAAC,QAAQ,EAAE;QAClD,YAAY,CAAC,OAAO,CAAC,+BAA+B,EAAE,MAAM,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC,CAAC;IAC9E,CAAC,CAAC,CAAC;AACL,CAAC"} \ No newline at end of file diff --git a/dist/app.d.ts b/dist/app.d.ts index 8012e2e..333ed6f 100644 --- a/dist/app.d.ts +++ b/dist/app.d.ts @@ -64,7 +64,7 @@ export declare class CohortApp { * The app for this website, embeds our Cohort App */ export declare class App extends ATDPApplication { - constructor(name: string); + constructor(name: string, loginDialog: string); protected createApp(graph: ProvenanceGraph, manager: CLUEGraphManager, main: HTMLElement): CohortApp | PromiseLike; private replaceHelpIcon; protected initSessionImpl(app: CohortApp): void; diff --git a/dist/app.js b/dist/app.js index f04f9d6..ea9052c 100644 --- a/dist/app.js +++ b/dist/app.js @@ -11,7 +11,6 @@ import { OnboardingManager } from './OnboardingManager'; import { setDatasetAction } from './Provenance/General'; import { getDBCohortData } from './rest'; import deleteModal from './templates/DeleteModal.html'; -import loginDialog from './templates/LoginDialog.html'; import welcomeHtml from './templates/Welcome.html'; // webpack imports html to variable import * as aboutDisclaimer from './templates/_aboutDisclaimer.html'; import { getAnimatedLoadingText, handleDataLoadError, log, removeFromArray } from './util'; @@ -426,7 +425,7 @@ export class CohortApp { * The app for this website, embeds our Cohort App */ export class App extends ATDPApplication { - constructor(name) { + constructor(name, loginDialog) { super({ prefix: 'coral', name, diff --git a/dist/app.js.map b/dist/app.js.map index 0577414..5c74912 100644 --- a/dist/app.js.map +++ b/dist/app.js.map @@ -1 +1 @@ -{"version":3,"file":"app.js","sourceRoot":"","sources":["../src/app.ts"],"names":[],"mappings":"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"} \ No newline at end of file +{"version":3,"file":"app.js","sourceRoot":"","sources":["../src/app.ts"],"names":[],"mappings":"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"} \ No newline at end of file diff --git a/dist/app.template.ejs b/dist/app.template.ejs deleted file mode 100644 index d968868..0000000 --- a/dist/app.template.ejs +++ /dev/null @@ -1,65 +0,0 @@ - - - - - - - - Coral - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - diff --git a/dist/index.d.ts b/dist/index.d.ts index 4e2ad8d..995b787 100644 --- a/dist/index.d.ts +++ b/dist/index.d.ts @@ -6,5 +6,6 @@ export * from './Cohort'; export * from './CohortInterfaces'; export * from './CohortRepresentations'; export * from './cohortview'; -export * from './LoginDialog'; export * from './rest'; +export * from './util'; +export * from './utils'; diff --git a/dist/index.js b/dist/index.js index 8d60b42..16714fd 100644 --- a/dist/index.js +++ b/dist/index.js @@ -6,6 +6,7 @@ export * from './Cohort'; export * from './CohortInterfaces'; export * from './CohortRepresentations'; export * from './cohortview'; -export * from './LoginDialog'; export * from './rest'; +export * from './util'; +export * from './utils'; //# sourceMappingURL=index.js.map \ No newline at end of file diff --git a/dist/index.js.map b/dist/index.js.map index ab4f50e..91ad5aa 100644 --- a/dist/index.js.map +++ b/dist/index.js.map @@ -1 +1 @@ -{"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,cAAc,QAAQ,CAAC;AACvB,cAAc,YAAY,CAAC;AAC3B,cAAc,YAAY,CAAC;AAE3B,cAAc,OAAO,CAAC;AACtB,cAAc,UAAU,CAAC;AACzB,cAAc,oBAAoB,CAAC;AACnC,cAAc,yBAAyB,CAAC;AACxC,cAAc,cAAc,CAAC;AAC7B,cAAc,eAAe,CAAC;AAC9B,cAAc,QAAQ,CAAC"} \ No newline at end of file +{"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,cAAc,QAAQ,CAAC;AACvB,cAAc,YAAY,CAAC;AAC3B,cAAc,YAAY,CAAC;AAE3B,cAAc,OAAO,CAAC;AACtB,cAAc,UAAU,CAAC;AACzB,cAAc,oBAAoB,CAAC;AACnC,cAAc,yBAAyB,CAAC;AACxC,cAAc,cAAc,CAAC;AAC7B,cAAc,QAAQ,CAAC;AAEvB,cAAc,QAAQ,CAAC;AACvB,cAAc,SAAS,CAAC"} \ No newline at end of file diff --git a/dist/initialize.app.d.ts b/dist/initialize.app.d.ts deleted file mode 100644 index 19fd237..0000000 --- a/dist/initialize.app.d.ts +++ /dev/null @@ -1,4 +0,0 @@ -/** - * Created by Caleydo Team on 31.08.2016. - */ -export {}; diff --git a/dist/initialize.app.js b/dist/initialize.app.js deleted file mode 100644 index 619e38a..0000000 --- a/dist/initialize.app.js +++ /dev/null @@ -1,8 +0,0 @@ -/** - * Created by Caleydo Team on 31.08.2016. - */ -import { App } from './app'; -const APP_NAME = 'Coral'; -document.title = APP_NAME; -const tdpApp = new App(APP_NAME); // assign to variable to avoid linting errors -//# sourceMappingURL=initialize.app.js.map \ No newline at end of file diff --git a/dist/initialize.app.js.map b/dist/initialize.app.js.map deleted file mode 100644 index cc3d2de..0000000 --- a/dist/initialize.app.js.map +++ /dev/null @@ -1 +0,0 @@ -{"version":3,"file":"initialize.app.js","sourceRoot":"","sources":["../src/initialize.app.ts"],"names":[],"mappings":"AAAA;;GAEG;AAEH,OAAO,EAAC,GAAG,EAAC,MAAM,OAAO,CAAC;AAE1B,MAAM,QAAQ,GAAG,OAAO,CAAC;AAEzB,QAAQ,CAAC,KAAK,GAAG,QAAQ,CAAC;AAC1B,MAAM,MAAM,GAAG,IAAI,GAAG,CAAC,QAAQ,CAAC,CAAC,CAAC,6CAA6C"} \ No newline at end of file diff --git a/dist/initialize.welcome.d.ts b/dist/initialize.welcome.d.ts deleted file mode 100644 index a5a0a63..0000000 --- a/dist/initialize.welcome.d.ts +++ /dev/null @@ -1 +0,0 @@ -import 'ordino/dist/robots.txt'; diff --git a/dist/initialize.welcome.js b/dist/initialize.welcome.js deleted file mode 100644 index 3b04c4d..0000000 --- a/dist/initialize.welcome.js +++ /dev/null @@ -1,30 +0,0 @@ -import 'ordino/dist/robots.txt'; -import * as React from 'react'; -import * as ReactDOM from 'react-dom'; -import { HashRouter, Switch, Route } from 'react-router-dom'; -import { HomePage, NewsPage, FeaturesPage, DatasetsPage, PublicationPage, HelpPage } from './pages'; -import { RouterScrollToTop } from './utils'; -import { Error404Page } from './pages/Error404Page'; -ReactDOM.render(React.createElement(React.Fragment, null, - React.createElement(HashRouter, null, - React.createElement(RouterScrollToTop, null), - React.createElement(Switch, null, - React.createElement(Route, { path: "/news/:slug" }, - React.createElement(NewsPage, null)), - React.createElement(Route, { path: "/news" }, - React.createElement(NewsPage, null)), - React.createElement(Route, { path: "/features" }, - React.createElement(FeaturesPage, null)), - React.createElement(Route, { path: "/datasets" }, - React.createElement(DatasetsPage, null)), - React.createElement(Route, { path: "/publications" }, - React.createElement(PublicationPage, null)), - React.createElement(Route, { path: "/help/:slug" }, - React.createElement(HelpPage, null)), - React.createElement(Route, { path: "/help" }, - React.createElement(HelpPage, null)), - React.createElement(Route, { exact: true, path: "/" }, - React.createElement(HomePage, null)), - React.createElement(Route, null, - React.createElement(Error404Page, null))))), document.querySelector('#welcome')); -//# sourceMappingURL=initialize.welcome.js.map \ No newline at end of file diff --git a/dist/initialize.welcome.js.map b/dist/initialize.welcome.js.map deleted file mode 100644 index a4e02ce..0000000 --- a/dist/initialize.welcome.js.map +++ /dev/null @@ -1 +0,0 @@ -{"version":3,"file":"initialize.welcome.js","sourceRoot":"","sources":["../src/initialize.welcome.tsx"],"names":[],"mappings":"AAAA,OAAO,wBAAwB,CAAC;AAEhC,OAAO,KAAK,KAAK,MAAM,OAAO,CAAC;AAC/B,OAAO,KAAK,QAAQ,MAAM,WAAW,CAAC;AACtC,OAAO,EAAC,UAAU,EAAE,MAAM,EAAE,KAAK,EAAC,MAAM,kBAAkB,CAAC;AAC3D,OAAO,EAAC,QAAQ,EAAE,QAAQ,EAAE,YAAY,EAAE,YAAY,EAAE,eAAe,EAAE,QAAQ,EAAC,MAAM,SAAS,CAAC;AAClG,OAAO,EAAC,iBAAiB,EAAC,MAAM,SAAS,CAAC;AAC1C,OAAO,EAAC,YAAY,EAAC,MAAM,sBAAsB,CAAC;AAElD,QAAQ,CAAC,MAAM,CACb;IACE,oBAAC,UAAU;QACT,oBAAC,iBAAiB,OAAqB;QAGvC,oBAAC,MAAM;YACL,oBAAC,KAAK,IAAC,IAAI,EAAC,aAAa;gBACvB,oBAAC,QAAQ,OAAG,CACN;YACR,oBAAC,KAAK,IAAC,IAAI,EAAC,OAAO;gBACjB,oBAAC,QAAQ,OAAG,CACN;YACR,oBAAC,KAAK,IAAC,IAAI,EAAC,WAAW;gBACrB,oBAAC,YAAY,OAAG,CACV;YACR,oBAAC,KAAK,IAAC,IAAI,EAAC,WAAW;gBACrB,oBAAC,YAAY,OAAG,CACV;YACR,oBAAC,KAAK,IAAC,IAAI,EAAC,eAAe;gBACzB,oBAAC,eAAe,OAAG,CACb;YACR,oBAAC,KAAK,IAAC,IAAI,EAAC,aAAa;gBACvB,oBAAC,QAAQ,OAAG,CACN;YACR,oBAAC,KAAK,IAAC,IAAI,EAAC,OAAO;gBACjB,oBAAC,QAAQ,OAAG,CACN;YACR,oBAAC,KAAK,IAAC,KAAK,QAAC,IAAI,EAAC,GAAG;gBACnB,oBAAC,QAAQ,OAAG,CACN;YACR,oBAAC,KAAK;gBACJ,oBAAC,YAAY,OAAG,CACV,CACD,CACE,CACZ,EACH,QAAQ,CAAC,aAAa,CAAC,UAAU,CAAC,CACnC,CAAC"} \ No newline at end of file diff --git a/dist/menu/DatasetCard.d.ts b/dist/menu/DatasetCard.d.ts deleted file mode 100644 index efe4fcf..0000000 --- a/dist/menu/DatasetCard.d.ts +++ /dev/null @@ -1,3 +0,0 @@ -/// -import { IPublicDbStartMenuDatasetSectionDesc } from '../base/extensions'; -export default function DatasetCard({ name, icon, tabs, startViewId, dataSource, cssClass, tokenSeparators }: IPublicDbStartMenuDatasetSectionDesc): JSX.Element; diff --git a/dist/menu/DatasetCard.js b/dist/menu/DatasetCard.js deleted file mode 100644 index 7502945..0000000 --- a/dist/menu/DatasetCard.js +++ /dev/null @@ -1,99 +0,0 @@ -import React from 'react'; -import { ENamedSetType, RestBaseUtils, RestStorageUtils, StoreUtils } from 'tdp_core'; -import { NamedSetList, OrdinoContext } from 'ordino'; -import { UserSession, UniqueIdManager, I18nextManager, IDTypeManager, useAsync } from 'tdp_core'; -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 { 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 { - type: ENamedSetType.PANEL, - id, - name: id, - description, - subTypeKey: Species.SPECIES_SESSION_KEY, - subTypeFromSession: false, - subTypeValue: species, - idType: '' - }; - })]; - }); - }, [dataSource.idType]); - const loadNamedSets = React.useMemo(() => { - return () => RestStorageUtils.listNamedSets(dataSource.idType); - }, [dataSource.idType, dirtyNamedSets]); - 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 filterValue = (value, tab) => value === null || value === void 0 ? void 0 : value.filter((entry) => entry.subTypeValue === tab); - const onOpenNamedSet = (event, { namedSet, species }) => { - event.preventDefault(); - const defaultSessionValues = { - [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); - app.startNewSession(startViewId, { namedSet }, defaultSessionValues); - }; - const onOpenSearchResult = (event, { searchResult, species }) => { - event.preventDefault(); - const defaultSessionValues = { - [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) => { - 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); - setDirtyNamedSets((d) => !d); - }); - }; - const id = React.useMemo(() => UniqueIdManager.getInstance().uniqueId(), []); - const activeTabIndex = 0; - return (React.createElement("div", { className: `ordino-dataset ${cssClass || ''}` }, - React.createElement("h4", { className: "text-start mb-3" }, - 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' : ''}`, 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}` }, - 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) }), - 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 deleted file mode 100644 index de0f8a5..0000000 --- a/dist/menu/DatasetCard.js.map +++ /dev/null @@ -1 +0,0 @@ -{"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 b/dist/menu/DatasetSearchBox.d.ts deleted file mode 100644 index b6538c1..0000000 --- a/dist/menu/DatasetSearchBox.d.ts +++ /dev/null @@ -1,20 +0,0 @@ -import React from 'react'; -import { IdTextPair } from 'tdp_core'; -import { IDataSourceConfig } from '../common'; -import { IACommonListOptions } from 'tdp_gene'; -interface IDatasetSearchBoxParams { - [key: string]: any; -} -interface IDatasetSearchBoxProps { - placeholder: string; - dataSource: IDataSourceConfig; - onSaveAsNamedSet: (items: IdTextPair[]) => void; - onOpen: (event: React.MouseEvent, search: Partial) => void; - /** - * Extra parameters when querying the options of the searchbox, - */ - params?: IDatasetSearchBoxParams; - tokenSeparators?: RegExp; -} -export declare function DatasetSearchBox({ placeholder, dataSource, onOpen, onSaveAsNamedSet, params, tokenSeparators }: IDatasetSearchBoxProps): JSX.Element; -export {}; diff --git a/dist/menu/DatasetSearchBox.js b/dist/menu/DatasetSearchBox.js deleted file mode 100644 index d01441b..0000000 --- a/dist/menu/DatasetSearchBox.js +++ /dev/null @@ -1,114 +0,0 @@ -import React from 'react'; -import { RestBaseUtils, Select3Utils } from 'tdp_core'; -import { components } from 'react-select'; -import { AsyncPaginate } from 'react-select-async-paginate'; -import Highlighter from 'react-highlight-words'; -import { GeneUtils } from '../common'; -export function DatasetSearchBox({ placeholder, dataSource, onOpen, onSaveAsNamedSet, params = {}, tokenSeparators = /[\s;,]+/gm }) { - const [items, setItems] = React.useState([]); - const [inputValue, setInputValue] = React.useState(''); - const loadOptions = async (query, _, { page }) => { - const { db, base, dbViewSuffix, entityName } = dataSource; - return RestBaseUtils.getTDPLookup(db, base + dbViewSuffix, { - column: entityName, - ...params, - query, - page, - limit: 10 - }).then(({ items, more }) => ({ - options: items, - hasMore: more, - additional: { - page: page + 1 - } - })); - }; - const formatOptionLabel = (option, ctx) => { - var _a; - // do not highlight selected elements - if ((_a = ctx.selectValue) === null || _a === void 0 ? void 0 : _a.some((o) => o.id === option.id)) { - return option.text; - } - 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))); - }; - React.useEffect(() => { - setInputValue(''); - }, [items]); - 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 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())) - .map((s) => ({ id: s, text: s, invalid: true })); - setItems([...validData, ...invalidData]); - }; - const validItems = items === null || items === void 0 ? void 0 : items.filter((i) => !i.invalid); - const searchResults = { - search: { - ids: validItems.map((i) => i.id), - type: dataSource.tableName - } - }; - return (React.createElement("div", { className: "row ordino-dataset-searchbox" }, - React.createElement("div", { className: "col" }, - React.createElement(AsyncPaginate, { 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: { - 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' - } - }) - } })), - React.createElement("button", { className: "me-2 pt-1 pb-1 btn btn-secondary", disabled: !(validItems === null || validItems === void 0 ? void 0 : validItems.length), onClick: (event) => onOpen(event, searchResults) }, "Open"), - React.createElement("button", { className: "me-2 pt-1 pb-1 btn btn-outline-secondary", disabled: !(validItems === null || validItems === void 0 ? void 0 : validItems.length), onClick: () => onSaveAsNamedSet(validItems) }, "Save as set"))); -} -function Input(props) { - const { onPaste } = props.selectProps; - return (React.createElement(components.Input, Object.assign({ onPaste: onPaste }, 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 deleted file mode 100644 index f8b58fd..0000000 --- a/dist/menu/DatasetSearchBox.js.map +++ /dev/null @@ -1 +0,0 @@ -{"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/menu/HelpTab.d.ts b/dist/menu/HelpTab.d.ts deleted file mode 100644 index e9aea0a..0000000 --- a/dist/menu/HelpTab.d.ts +++ /dev/null @@ -1,2 +0,0 @@ -/// -export default function HelpTab(): JSX.Element; diff --git a/dist/menu/HelpTab.js b/dist/menu/HelpTab.js deleted file mode 100644 index 76ffc11..0000000 --- a/dist/menu/HelpTab.js +++ /dev/null @@ -1,13 +0,0 @@ -import { OrdinoFooter } from 'ordino'; -import * as React from 'react'; -import { BrowserRouter } from 'react-router-dom'; -import { DevelopedByAffiliations } from '../pages/components/DevelopedByAffiliations'; -import { CoralHelpSection } from '../pages/components/CoralHelpSection'; -export default function HelpTab() { - return React.createElement(React.Fragment, null, - React.createElement(BrowserRouter, { basename: "/#" }, - React.createElement(CoralHelpSection, { openInNewWindow: true }, - React.createElement(DevelopedByAffiliations, null), - React.createElement(OrdinoFooter, { openInNewWindow: true })))); -} -//# sourceMappingURL=HelpTab.js.map \ No newline at end of file diff --git a/dist/menu/HelpTab.js.map b/dist/menu/HelpTab.js.map deleted file mode 100644 index d723d77..0000000 --- a/dist/menu/HelpTab.js.map +++ /dev/null @@ -1 +0,0 @@ -{"version":3,"file":"HelpTab.js","sourceRoot":"","sources":["../../src/menu/HelpTab.tsx"],"names":[],"mappings":"AAAA,OAAO,EAAC,YAAY,EAAC,MAAM,QAAQ,CAAC;AACpC,OAAO,KAAK,KAAK,MAAM,OAAO,CAAC;AAC/B,OAAO,EAAC,aAAa,EAAC,MAAM,kBAAkB,CAAC;AAC/C,OAAO,EAAC,uBAAuB,EAAC,MAAM,6CAA6C,CAAC;AACpF,OAAO,EAAC,gBAAgB,EAAC,MAAM,sCAAsC,CAAC;AAEtE,MAAM,CAAC,OAAO,UAAU,OAAO;IAC3B,OAAO;QACH,oBAAC,aAAa,IAAC,QAAQ,EAAC,IAAI;YACxB,oBAAC,gBAAgB,IAAC,eAAe;gBAC7B,oBAAC,uBAAuB,OAA2B;gBACnD,oBAAC,YAAY,IAAC,eAAe,SAAgB,CAC9B,CACP,CACjB,CAAC;AACR,CAAC"} \ No newline at end of file diff --git a/dist/menu/index.d.ts b/dist/menu/index.d.ts deleted file mode 100644 index d2bc841..0000000 --- a/dist/menu/index.d.ts +++ /dev/null @@ -1,3 +0,0 @@ -export * from './DatasetCard'; -export * from './DatasetSearchBox'; -export * from './HelpTab'; diff --git a/dist/menu/index.js b/dist/menu/index.js deleted file mode 100644 index 12b64c1..0000000 --- a/dist/menu/index.js +++ /dev/null @@ -1,4 +0,0 @@ -export * from './DatasetCard'; -export * from './DatasetSearchBox'; -export * from './HelpTab'; -//# sourceMappingURL=index.js.map \ No newline at end of file diff --git a/dist/menu/index.js.map b/dist/menu/index.js.map deleted file mode 100644 index 1d29e38..0000000 --- a/dist/menu/index.js.map +++ /dev/null @@ -1 +0,0 @@ -{"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/menu/index.ts"],"names":[],"mappings":"AAAA,cAAc,eAAe,CAAC;AAC9B,cAAc,oBAAoB,CAAC;AACnC,cAAc,WAAW,CAAC"} \ No newline at end of file diff --git a/dist/pages/DatasetsPage.d.ts b/dist/pages/DatasetsPage.d.ts deleted file mode 100644 index 170b96a..0000000 --- a/dist/pages/DatasetsPage.d.ts +++ /dev/null @@ -1,8 +0,0 @@ -import * as React from 'react'; -interface IDatasetPageCardProps { - title: string; - children?: React.ReactNode; -} -export declare function DatasetPageCard({ title, children }: IDatasetPageCardProps): JSX.Element; -export declare function DatasetsPage(): JSX.Element; -export {}; diff --git a/dist/pages/DatasetsPage.js b/dist/pages/DatasetsPage.js deleted file mode 100644 index 1989108..0000000 --- a/dist/pages/DatasetsPage.js +++ /dev/null @@ -1,50 +0,0 @@ -import { HeaderNavigation, OrdinoFooter } from 'ordino'; -import * as React from 'react'; -export function DatasetPageCard({ title, children }) { - return (React.createElement("div", { className: "card shadow-sm h-100" }, - React.createElement("div", { className: "card-body" }, - React.createElement("h5", { className: "card-title" }, title), - children))); -} -export function DatasetsPage() { - return (React.createElement(React.Fragment, null, - React.createElement(HeaderNavigation, { bg: "none" }), - React.createElement("div", { className: "position-relative pt-6" }, - React.createElement("div", { className: "ordino-container" }, - React.createElement("div", { className: "dataset-page py-6 container" }, - React.createElement("div", { className: "row" }, - React.createElement("div", { className: "col" }, - React.createElement("h4", { className: "text-start d-flex align-items-center mt-2 mb-3" }, - React.createElement("i", { className: "me-2 ordino-icon-1 fas fa-chevron-circle-right" }), - " Basic Datasets"))), - React.createElement("div", { className: "row row-cols-md-2 row-cols-1" }, - React.createElement("div", { className: "col" }, - React.createElement(DatasetPageCard, { title: "AACR Project GENIE | American Association for Cancer Research (AACR)" }, - React.createElement("p", { className: "card-text" }, "Sample annotation and mutation data"), - React.createElement("a", { className: "card-link", href: "https://www.aacr.org/professionals/research/aacr-project-genie/", target: "_blank", rel: "noopener" }, "www.aacr.org/professionals/research/aacr-project-genie"))), - React.createElement("div", { className: "col" }, - React.createElement(DatasetPageCard, { title: "The Cancer Genome Atlas (TCGA)" }, - React.createElement("p", { className: "card-text" }, "Sample annotation, gene expression, mutation, and copy number data "), - React.createElement("a", { className: "card-link", href: "https://cancergenome.nih.gov", target: "_blank", rel: "noopener" }, "cancergenome.nih.gov")))), - React.createElement("div", { className: "row row-cols-md-2 row-cols-1 mt-4" }, - React.createElement("div", { className: "col" }, - React.createElement(DatasetPageCard, { title: "Cancer Cell Line Encyclopedia (CCLE)" }, - React.createElement("p", { className: "card-text" }, "Sample annotation, gene expression, mutation, and copy number data"), - React.createElement("a", { className: "card-link", href: "https://portals.broadinstitute.org/ccle", target: "_blank", rel: "noopener" }, "portals.broadinstitute.org/ccle")))), - React.createElement("div", { className: "row mt-4" }, - React.createElement("div", { className: "col" }, - React.createElement("h4", { className: "text-start d-flex align-items-center mt-2 mb-3" }, - React.createElement("i", { className: "me-2 fas ordino-icon-1 fa-chevron-circle-right" }), - " Depletion Sceen Data"))), - React.createElement("div", { className: "row row-cols-md-2 row-cols-1" }, - React.createElement("div", { className: "col" }, - React.createElement(DatasetPageCard, { title: "Project DRIVE" }, - React.createElement("p", { className: "card-text" }, "RNAi depletion screen data (RSA and ATARiS)"), - React.createElement("a", { className: "card-link", href: "https://doi.org/10.1016/j.cell.2017.07.005", target: "_blank", rel: "noopener" }, " McDonald III, E. R. et. al. Project DRIVE: A Compendium of Cancer Dependencies and Synthetic Lethal Relationships Uncovered by Large-Scale, Deep RNAi Screening. Cell 170, Pages 577-592.e10 (2017)."))), - React.createElement("div", { className: "col" }, - React.createElement(DatasetPageCard, { title: "Avana CERES" }, - React.createElement("p", { className: "card-text" }, "CRISPR-Cas9 depletion screen data"), - React.createElement("a", { className: "card-link", href: "https://doi.org/10.1038/ng.3984", target: "_blank", rel: "noopener" }, "Meyers, R. M. et. al. Computational correction of copy number effect improves specificity of CRISPR\u2013Cas9 essentiality screens in cancer cells. Nature Genetics 49, 1779\u20131784 (2017)."))))), - React.createElement(OrdinoFooter, null))))); -} -//# sourceMappingURL=DatasetsPage.js.map \ No newline at end of file diff --git a/dist/pages/DatasetsPage.js.map b/dist/pages/DatasetsPage.js.map deleted file mode 100644 index a4f953c..0000000 --- a/dist/pages/DatasetsPage.js.map +++ /dev/null @@ -1 +0,0 @@ -{"version":3,"file":"DatasetsPage.js","sourceRoot":"","sources":["../../src/pages/DatasetsPage.tsx"],"names":[],"mappings":"AAAA,OAAO,EAAC,gBAAgB,EAAE,YAAY,EAAC,MAAM,QAAQ,CAAC;AACtD,OAAO,KAAK,KAAK,MAAM,OAAO,CAAC;AAQ/B,MAAM,UAAU,eAAe,CAAC,EAAC,KAAK,EAAE,QAAQ,EAAwB;IACtE,OAAO,CACL,6BAAK,SAAS,EAAC,sBAAsB;QACnC,6BAAK,SAAS,EAAC,WAAW;YACxB,4BAAI,SAAS,EAAC,YAAY,IAAE,KAAK,CAAM;YACtC,QAAQ,CACL,CACF,CACP,CAAC;AACJ,CAAC;AAGD,MAAM,UAAU,YAAY;IAC1B,OAAO,CACL;QACE,oBAAC,gBAAgB,IAAC,EAAE,EAAC,MAAM,GAAoB;QAC/C,6BAAK,SAAS,EAAC,wBAAwB;YACrC,6BAAK,SAAS,EAAC,kBAAkB;gBAC/B,6BAAK,SAAS,EAAC,6BAA6B;oBAC1C,6BAAK,SAAS,EAAC,KAAK;wBAClB,6BAAK,SAAS,EAAC,KAAK;4BAClB,4BAAI,SAAS,EAAC,gDAAgD;gCAAC,2BAAG,SAAS,EAAC,gDAAgD,GAAM;kDAAoB,CAClJ,CACF;oBACN,6BAAK,SAAS,EAAC,8BAA8B;wBAC3C,6BAAK,SAAS,EAAC,KAAK;4BAClB,oBAAC,eAAe,IAAC,KAAK,EAAC,sEAAsE;gCAC3F,2BAAG,SAAS,EAAC,WAAW,0CAAwC;gCAChE,2BAAG,SAAS,EAAC,WAAW,EAAC,IAAI,EAAC,iEAAiE,EAAC,MAAM,EAAC,QAAQ,EAAC,GAAG,EAAC,UAAU,6DAA2D,CACzK,CACd;wBACN,6BAAK,SAAS,EAAC,KAAK;4BAClB,oBAAC,eAAe,IAAC,KAAK,EAAC,gCAAgC;gCACrD,2BAAG,SAAS,EAAC,WAAW,0EAAwE;gCAChG,2BAAG,SAAS,EAAC,WAAW,EAAC,IAAI,EAAC,8BAA8B,EAAC,MAAM,EAAC,QAAQ,EAAC,GAAG,EAAC,UAAU,2BAAyB,CACpG,CACd,CACF;oBAEN,6BAAK,SAAS,EAAC,mCAAmC;wBAChD,6BAAK,SAAS,EAAC,KAAK;4BAClB,oBAAC,eAAe,IAAC,KAAK,EAAC,sCAAsC;gCAC3D,2BAAG,SAAS,EAAC,WAAW,yEAAuE;gCAC/F,2BAAG,SAAS,EAAC,WAAW,EAAC,IAAI,EAAC,yCAAyC,EAAC,MAAM,EAAC,QAAQ,EAAC,GAAG,EAAC,UAAU,sCAAoC,CAC1H,CACd,CACF;oBACN,6BAAK,SAAS,EAAC,UAAU;wBACvB,6BAAK,SAAS,EAAC,KAAK;4BAClB,4BAAI,SAAS,EAAC,gDAAgD;gCAAC,2BAAG,SAAS,EAAC,gDAAgD,GAAM;wDAA0B,CACxJ,CACF;oBAEN,6BAAK,SAAS,EAAC,8BAA8B;wBAC3C,6BAAK,SAAS,EAAC,KAAK;4BAClB,oBAAC,eAAe,IAAC,KAAK,EAAC,eAAe;gCACpC,2BAAG,SAAS,EAAC,WAAW,kDAAgD;gCACxE,2BAAG,SAAS,EAAC,WAAW,EAAC,IAAI,EAAC,4CAA4C,EAAC,MAAM,EAAC,QAAQ,EAAC,GAAG,EAAC,UAAU,4MAEhE,CACzB,CACd;wBACN,6BAAK,SAAS,EAAC,KAAK;4BAClB,oBAAC,eAAe,IAAC,KAAK,EAAC,aAAa;gCAClC,2BAAG,SAAS,EAAC,WAAW,wCAAsC;gCAC9D,2BAAG,SAAS,EAAC,WAAW,EAAC,IAAI,EAAC,iCAAiC,EAAC,MAAM,EAAC,QAAQ,EAAC,GAAG,EAAC,UAAU,qMACqC,CACnH,CACd,CACF,CACF;gBACN,oBAAC,YAAY,OAAgB,CACzB,CACF,CACL,CACJ,CAAC;AACJ,CAAC"} \ No newline at end of file diff --git a/dist/pages/Error404Page.d.ts b/dist/pages/Error404Page.d.ts deleted file mode 100644 index acda088..0000000 --- a/dist/pages/Error404Page.d.ts +++ /dev/null @@ -1,2 +0,0 @@ -/// -export declare function Error404Page(): JSX.Element; diff --git a/dist/pages/Error404Page.js b/dist/pages/Error404Page.js deleted file mode 100644 index e76fe4e..0000000 --- a/dist/pages/Error404Page.js +++ /dev/null @@ -1,12 +0,0 @@ -import * as React from 'react'; -import { HeaderNavigation, OrdinoFooter } from 'ordino'; -export function Error404Page() { - return (React.createElement(React.Fragment, null, - React.createElement(HeaderNavigation, { bg: "none" }), - React.createElement("div", { className: "container" }, - React.createElement("div", { className: "row" }, - React.createElement("div", { className: "col" }, - React.createElement("h2", null, "Page Not Found")))), - React.createElement(OrdinoFooter, null))); -} -//# sourceMappingURL=Error404Page.js.map \ No newline at end of file diff --git a/dist/pages/Error404Page.js.map b/dist/pages/Error404Page.js.map deleted file mode 100644 index 1d16523..0000000 --- a/dist/pages/Error404Page.js.map +++ /dev/null @@ -1 +0,0 @@ -{"version":3,"file":"Error404Page.js","sourceRoot":"","sources":["../../src/pages/Error404Page.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,KAAK,MAAM,OAAO,CAAC;AAC/B,OAAO,EAAC,gBAAgB,EAAE,YAAY,EAAC,MAAM,QAAQ,CAAC;AAEtD,MAAM,UAAU,YAAY;IAC1B,OAAO,CACL;QACE,oBAAC,gBAAgB,IAAC,EAAE,EAAC,MAAM,GAAoB;QAC/C,6BAAK,SAAS,EAAC,WAAW;YACxB,6BAAK,SAAS,EAAC,KAAK;gBAClB,6BAAK,SAAS,EAAC,KAAK;oBAAC,iDAAuB,CAAM,CAC9C,CACF;QACN,oBAAC,YAAY,OAAgB,CAC5B,CACJ,CAAC;AACJ,CAAC"} \ No newline at end of file diff --git a/dist/pages/FeaturesPage.d.ts b/dist/pages/FeaturesPage.d.ts deleted file mode 100644 index 3251506..0000000 --- a/dist/pages/FeaturesPage.d.ts +++ /dev/null @@ -1,2 +0,0 @@ -/// -export declare function FeaturesPage(): JSX.Element; diff --git a/dist/pages/FeaturesPage.js b/dist/pages/FeaturesPage.js deleted file mode 100644 index 414b995..0000000 --- a/dist/pages/FeaturesPage.js +++ /dev/null @@ -1,168 +0,0 @@ -import { HeaderNavigation, OrdinoFooter } from 'ordino'; -import * as React from 'react'; -import areaChart from '../assets/feature_icons/areaChart.png'; -import barChart from '../assets/feature_icons/barChart.png'; -import boxPlot from '../assets/feature_icons/boxPlot.png'; -import densityPlot from '../assets/feature_icons/densityPlot.png'; -import scatterPlot from '../assets/feature_icons/scatterPlot.png'; -import survivalPlot from '../assets/feature_icons/survivalPlot.png'; -import { FeatureCard } from './components/FeatureCard'; -import intro from '../assets/welcome_tour/030_Workflow_Intro.svg'; -import overview1 from '../assets/welcome_tour/100_Overview.svg'; -import overview2 from '../assets/welcome_tour/110_Overview.svg'; -import split1 from '../assets/welcome_tour/200_Split.svg'; -import split2 from '../assets/welcome_tour/210_Split.svg'; -import filter1 from '../assets/welcome_tour/300_Filter.svg'; -import filter2 from '../assets/welcome_tour/310_Filter.svg'; -import prevalence from '../assets/welcome_tour/400_Prevalence.svg'; -import compare1 from '../assets/welcome_tour/500_Compare.svg'; -import compare2 from '../assets/welcome_tour/510_Compare.svg'; -import details from '../assets/welcome_tour/600_Details.svg'; -export function FeaturesPage() { - return (React.createElement(React.Fragment, null, - React.createElement(HeaderNavigation, { bg: "none" }), - React.createElement("div", { className: "position-relative py-6" }, - React.createElement("div", { className: "ordino-container" }, - React.createElement("div", { className: "container pb-6 pt-4" }, - React.createElement("div", { className: "row workflow-carousel text-center" }, - React.createElement("div", { className: "col-12 offset-lg-1 col-lg-10" }, - React.createElement("div", { id: "carousel-welcome", className: "carousel slide carousel-fade", "data-bs-slide": "carousel", "data-bs-interval": "false" }, - React.createElement("ol", { className: "carousel-indicators" }, - React.createElement("li", { "data-bs-target": "#carousel-welcome", "data-bs-slide-to": "0", className: "active" }), - React.createElement("li", { "data-bs-target": "#carousel-welcome", "data-bs-slide-to": "1" }), - React.createElement("li", { "data-bs-target": "#carousel-welcome", "data-bs-slide-to": "2" }), - React.createElement("li", { "data-bs-target": "#carousel-welcome", "data-bs-slide-to": "3" }), - React.createElement("li", { "data-bs-target": "#carousel-welcome", "data-bs-slide-to": "4" }), - React.createElement("li", { "data-bs-target": "#carousel-welcome", "data-bs-slide-to": "5" }), - React.createElement("li", { "data-bs-target": "#carousel-welcome", "data-bs-slide-to": "6" })), - React.createElement("div", { className: "carousel-inner" }, - React.createElement("div", { className: "carousel-item active" }, - React.createElement("img", { src: intro }), - React.createElement("div", { className: "carousel-caption" })), - React.createElement("div", { className: "carousel-item" }, - React.createElement("img", { src: overview1 }), - React.createElement("img", { src: overview2 }), - React.createElement("div", { className: "carousel-caption" })), - React.createElement("div", { className: "carousel-item" }, - React.createElement("img", { src: split1 }), - React.createElement("img", { src: split2 }), - React.createElement("div", { className: "carousel-caption" })), - React.createElement("div", { className: "carousel-item" }, - React.createElement("img", { src: filter1 }), - React.createElement("img", { src: filter2 }), - React.createElement("div", { className: "carousel-caption" })), - React.createElement("div", { className: "carousel-item" }, - React.createElement("img", { src: prevalence }), - React.createElement("div", { className: "carousel-caption" })), - React.createElement("div", { className: "carousel-item" }, - React.createElement("img", { src: compare1 }), - React.createElement("img", { src: compare2 }), - React.createElement("div", { className: "carousel-caption" })), - React.createElement("div", { className: "carousel-item" }, - React.createElement("img", { src: details }), - React.createElement("div", { className: "carousel-caption" }))), - React.createElement("button", { className: "carousel-control-prev", type: "button", "data-bs-target": "#carousel-welcome", "data-bs-slide": "prev" }, - React.createElement("span", { className: "carousel-control-prev-icon", "aria-hidden": "true" }), - React.createElement("span", { className: "visually-hidden" }, "Previous")), - React.createElement("button", { className: "carousel-control-next", type: "button", "data-bs-target": "#carousel-welcome", "data-bs-slide": "next" }, - React.createElement("span", { className: "carousel-control-next-icon", "aria-hidden": "true" }), - React.createElement("span", { className: "visually-hidden" }, "Next"))))), - React.createElement("div", { className: "row mt-6" }, - React.createElement("div", { className: "col-12 col-xl-10 offset-xl-1 col-xxl-8 offset-xxl-2" }, - React.createElement("h3", { className: "text-start d-flex align-items-center mb-3" }, "Features"))), - React.createElement("div", { className: "row" }, - React.createElement("div", { className: "col-12 col-xl-10 offset-xl-1 col-xxl-8 offset-xxl-2" }, - React.createElement("h4", { className: "text-start d-flex align-items-center mb-3" }, - React.createElement("i", { className: "me-2 ordino-icon-1 fas fa-chevron-circle-right" }), - " Onboarding"))), - React.createElement("div", { className: "row" }, - React.createElement("div", { className: "col-12 col-xl-10 offset-xl-1 col-xxl-8 offset-xxl-2" }, - React.createElement("p", { className: "lead text-gray-600" }, "Coral offers onboarding tooltips to guide new users through the application. The tooltips indicate what elements represent and what roles they play in Coral. A general workflow will be supported with these onboarding tooltips to explain the iterative workflow, cohort creation and how cohorts can be characterized."))), - React.createElement("div", { className: "row mt-3" }, - React.createElement("div", { className: "col-12 col-xl-10 offset-xl-1 col-xxl-8 offset-xxl-2" }, - React.createElement("h4", { className: "text-start d-flex align-items-center mb-3" }, - React.createElement("i", { className: "me-2 ordino-icon-1 fas fa-chevron-circle-right" }), - " Cohort Tracking"))), - React.createElement("div", { className: "row" }, - React.createElement("div", { className: "col-12 col-xl-10 offset-xl-1 col-xxl-8 offset-xxl-2" }, - React.createElement("p", { className: "lead text-gray-600" }, - "The ", - React.createElement("b", null, "Cohort Evolution View"), - " (upper panel) presents how all cohorts were generated as well as their relationships as a graph. Operations and cohorts are encoded as nodes connected by edges to represent the analysis flow. The first cohort includes all items of the loaded dataset and is created automatically. When the user selects a cohort in the graph, it is assigned a color that is used consistently in all visualizations."))), - React.createElement("div", { className: "row mt-3" }, - React.createElement("div", { className: "col-12 col-xl-10 offset-xl-1 col-xxl-8 offset-xxl-2" }, - React.createElement("h4", { className: "text-start d-flex align-items-center mb-3" }, - React.createElement("i", { className: "me-2 ordino-icon-1 fas fa-chevron-circle-right" }), - " Cohort Creation"))), - React.createElement("div", { className: "row" }, - React.createElement("div", { className: "col-12 col-xl-10 offset-xl-1 col-xxl-8 offset-xxl-2" }, - React.createElement("p", { className: "lead text-gray-600" }, - "Selected cohorts are loaded into the ", - React.createElement("b", null, "Action View"), - " (lower panel), which allows users to perform cohort characterization and creation operations. New cohorts created by these operations are also added to the graph, which results in an iterative cohort definition and analysis workflow. The Action View is divided into three areas: the Input Area, the Operation Area, and the optional Output Area, which is shown if the operation results in new cohorts. The Operation Area provides the several operations that can be applied to the input cohorts."), - React.createElement("h5", null, "Filter & Split"), - React.createElement("p", { className: "lead text-gray-600" }, "The Filter & Split operation is used to create cohorts from the loaded dataset. Filtering works by selecting the values of interest to create a new cohort. In contrast, the Split operation can be used to divide a cohort into mulitple sub-cohorst."))), - React.createElement("div", { className: "row mt-3" }, - React.createElement("div", { className: "col-12 col-xl-10 offset-xl-1 col-xxl-8 offset-xxl-2" }, - React.createElement("h4", { className: "text-start d-flex align-items-center mb-3" }, - React.createElement("i", { className: "me-2 ordino-icon-1 fas fa-chevron-circle-right" }), - " View"))), - React.createElement("div", { className: "row" }, - React.createElement("div", { className: "col-12 col-xl-10 offset-xl-1 col-xxl-8 offset-xxl-2" }, - React.createElement("p", { className: "lead text-gray-600" }, "The View operation is the main route to exploring the dataset and investigating how the values of one or more attributes are distributed across cohorts."), - React.createElement("p", { className: "lead text-gray-600" }, "Coral offers different visualizations, based on the number and type of attributes:"))), - React.createElement("div", { className: "row row-cols-1 row-cols-md-2 row-cols-xl-3" }, - React.createElement(FeatureCard, { image: { file: barChart, altText: 'Image for a bar chart.' }, title: "Bar Chart", config: { numbAttr: 1, attribute: 'Categorical' } }, - React.createElement("p", { className: "mb-0" }, "A categorical attribute will be shown with a bar chart, which shows the distribution of values for each category. If more than one cohort is selected, a grouped bar chart will be shown.")), - React.createElement(FeatureCard, { image: { file: densityPlot, altText: 'Image for a desnity plot.' }, title: "Density Plot", config: { numbAttr: 1, attribute: 'Quantitative' } }, - React.createElement("p", { className: "mb-0" }, "A quantitative attribute will be displayed with a density plot and will superimpose the different curves for multiple selected cohorts.")), - React.createElement(FeatureCard, { image: { file: survivalPlot, altText: 'Image for a survival plot.' }, title: "Kaplan-Meier/Survival Plot", config: { numbAttr: 1, attribute: 'Quantitative' } }, - React.createElement("p", { className: "mb-0" }, "The survival plot is only used for quantitative attributes related to the survival, if multiple cohorts are selected the multiple curves will be superimposed.")), - React.createElement(FeatureCard, { image: { file: boxPlot, altText: 'Image for a box plot.' }, title: "Box Plot", config: { numbAttr: 2, attribute: '1 Quantitative and 1 Categorical' } }, - React.createElement("p", { className: "mb-0" }, "Selecting a categorical and a quantitative attribute will show a boxplot, with a box for each category. For multiple cohorts a box plot with mutliple boxes for each category will be shown, each representing a cohort.")), - React.createElement(FeatureCard, { image: { file: scatterPlot, altText: 'Image for a scatterplot.' }, title: "Scatterplot", config: { numbAttr: 2, attribute: '2 Quantitative' } }, - React.createElement("p", { className: "mb-0" }, "A scatterplot will be used to display two quantitative attributes. In case of multiple cohorts, all datapoints of each cohort will be plotted corresponding with the color of the cohort.")), - React.createElement(FeatureCard, { image: { file: areaChart, altText: 'Image for an area chart.' }, title: "Area Chart", config: { numbAttr: 2, attribute: '2 Categorical' } }, - React.createElement("p", { className: "mb-0" }, "Choosing two categorical attributes will result in an area chart. For multiple cohorts each category combination will have an area representing one cohort."))), - React.createElement("div", { className: "row mt-3" }, - React.createElement("div", { className: "col-12 col-xl-10 offset-xl-1 col-xxl-8 offset-xxl-2" }, - React.createElement("h4", { className: "text-start d-flex align-items-center mb-3" }, - React.createElement("i", { className: "me-2 ordino-icon-1 fas fa-chevron-circle-right" }), - " Estimate the Prevalence"))), - React.createElement("div", { className: "row" }, - React.createElement("div", { className: "col-12 col-xl-10 offset-xl-1 col-xxl-8 offset-xxl-2" }, - React.createElement("p", { className: "lead text-gray-600" }, "Prevalence is the proportion of items with a certain characteristic in a cohort. An exmaple would be the proportion of patients with a gene mutation among female Asian patients with NSCLC. Coral provides a dedicated analysis view to assess prevalence estimates. After selecting the sample cohort with items that have the characteristic of interest, the user can flexibly define the reference cohort by applying or skipping Filter & Split operations used to create the sample cohort. The cohorts\u2019 sizes and the resulting prevalences are then displayed in a bar chart."))), - React.createElement("div", { className: "row mt-3" }, - React.createElement("div", { className: "col-12 col-xl-10 offset-xl-1 col-xxl-8 offset-xxl-2" }, - React.createElement("h4", { className: "text-start d-flex align-items-center mb-3" }, - React.createElement("i", { className: "me-2 ordino-icon-1 fas fa-chevron-circle-right" }), - " Perform Basic Statistical Analyses"))), - React.createElement("div", { className: "row" }, - React.createElement("div", { className: "col-12 col-xl-10 offset-xl-1 col-xxl-8 offset-xxl-2" }, - React.createElement("p", { className: "lead text-gray-600" }, "Seeking relationships and patterns in tabular data is a common data exploration task. To confirm hypotheses that are based on visual patterns observed during exploratory data analysis, users need to be able to quickly compare data subsets, and get further information on the significance of the result and the statistical test applied."), - React.createElement("p", { className: "lead text-gray-600" }, - "The ", - React.createElement("b", null, "Comparison"), - " operation enables users who are not experts in statistics to verify generated hypotheses and confirm insights gained during the exploration of tabular data. Concretely, it presents an overview of the statistical significance of various cohort comparisons. On demand, it shows further details, including the ", - React.createElement("b", null, "test score"), - ", a ", - React.createElement("b", null, "textual description"), - ", and a ", - React.createElement("b", null, "detail visualization"), - " explaining the results."))), - React.createElement("div", { className: "row mt-3" }, - React.createElement("div", { className: "col-12 col-xl-10 offset-xl-1 col-xxl-8 offset-xxl-2" }, - React.createElement("h4", { className: "text-start d-flex align-items-center mb-3" }, - React.createElement("i", { className: "me-2 ordino-icon-1 fas fa-chevron-circle-right" }), - " Inspect the Items in a Cohort"))), - React.createElement("div", { className: "row" }, - React.createElement("div", { className: "col-12 col-xl-10 offset-xl-1 col-xxl-8 offset-xxl-2" }, - React.createElement("p", { className: "lead text-gray-600" }, - "Coral uses the tabular visualization technique ", - React.createElement("a", { href: "http://lineup.js.org/", target: "_blank", rel: "noopener" }, "LineUp"), - " for visualizing the items of the cohorts. This makes it possible to identify outliers or to assess single data points.", - React.createElement("br", null), - "Attributes can be selected to display their data in the table, and sort, filter, and group the data.")))), - React.createElement(OrdinoFooter, null))))); -} -//# sourceMappingURL=FeaturesPage.js.map \ No newline at end of file diff --git a/dist/pages/FeaturesPage.js.map b/dist/pages/FeaturesPage.js.map deleted file mode 100644 index 86a9d16..0000000 --- a/dist/pages/FeaturesPage.js.map +++ /dev/null @@ -1 +0,0 @@ -{"version":3,"file":"FeaturesPage.js","sourceRoot":"","sources":["../../src/pages/FeaturesPage.tsx"],"names":[],"mappings":"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"} \ No newline at end of file diff --git a/dist/pages/HelpPage.d.ts b/dist/pages/HelpPage.d.ts deleted file mode 100644 index 63052d4..0000000 --- a/dist/pages/HelpPage.d.ts +++ /dev/null @@ -1,2 +0,0 @@ -/// -export declare function HelpPage(): JSX.Element; diff --git a/dist/pages/HelpPage.js b/dist/pages/HelpPage.js deleted file mode 100644 index ac6e055..0000000 --- a/dist/pages/HelpPage.js +++ /dev/null @@ -1,15 +0,0 @@ -import * as React from 'react'; -import { HeaderNavigation, OrdinoFooter } from 'ordino'; -import { DevelopedByAffiliations } from './components/DevelopedByAffiliations'; -import { CoralHelpSection } from './components/CoralHelpSection'; -import { useScrollToSlug } from 'ordino'; -export function HelpPage() { - useScrollToSlug(); - return (React.createElement(React.Fragment, null, - React.createElement(HeaderNavigation, { bg: "none" }), - React.createElement("div", { className: "container-fluid ordino-help-page h-100 position-relative pt-6" }, - React.createElement(CoralHelpSection, null, - React.createElement(DevelopedByAffiliations, null), - React.createElement(OrdinoFooter, null))))); -} -//# sourceMappingURL=HelpPage.js.map \ No newline at end of file diff --git a/dist/pages/HelpPage.js.map b/dist/pages/HelpPage.js.map deleted file mode 100644 index 9ee1f75..0000000 --- a/dist/pages/HelpPage.js.map +++ /dev/null @@ -1 +0,0 @@ -{"version":3,"file":"HelpPage.js","sourceRoot":"","sources":["../../src/pages/HelpPage.tsx"],"names":[],"mappings":"AACA,OAAO,KAAK,KAAK,MAAM,OAAO,CAAC;AAC/B,OAAO,EAAC,gBAAgB,EAAE,YAAY,EAAC,MAAM,QAAQ,CAAC;AACtD,OAAO,EAAC,uBAAuB,EAAC,MAAM,sCAAsC,CAAC;AAC7E,OAAO,EAAC,gBAAgB,EAAC,MAAM,+BAA+B,CAAC;AAC/D,OAAO,EAAC,eAAe,EAAC,MAAM,QAAQ,CAAC;AAEvC,MAAM,UAAU,QAAQ;IACtB,eAAe,EAAE,CAAC;IAElB,OAAO,CACL;QACE,oBAAC,gBAAgB,IAAC,EAAE,EAAC,MAAM,GAAoB;QAC/C,6BAAK,SAAS,EAAC,+DAA+D;YAC5E,oBAAC,gBAAgB;gBACf,oBAAC,uBAAuB,OAAG;gBAC3B,oBAAC,YAAY,OAAG,CACC,CACf,CACL,CACJ,CAAC;AACJ,CAAC"} \ No newline at end of file diff --git a/dist/pages/HomePage.d.ts b/dist/pages/HomePage.d.ts deleted file mode 100644 index 9cea50a..0000000 --- a/dist/pages/HomePage.d.ts +++ /dev/null @@ -1,2 +0,0 @@ -/// -export declare function HomePage(): JSX.Element; diff --git a/dist/pages/HomePage.js b/dist/pages/HomePage.js deleted file mode 100644 index aef8c4b..0000000 --- a/dist/pages/HomePage.js +++ /dev/null @@ -1,17 +0,0 @@ -import * as React from 'react'; -import { OrdinoFooter } from 'ordino'; -import { CoralHero } from './components/CoralHero'; -import { DevelopedByAffiliations } from './components/DevelopedByAffiliations'; -import { CoralTeaserCards } from './components/CoralTeaserCards'; -import { GettingStarted } from './components/GettingStarted'; -export function HomePage() { - return (React.createElement(React.Fragment, null, - React.createElement(CoralHero, null), - React.createElement("div", { className: "ordino-getting-started-wrapper" }, - React.createElement(GettingStarted, null), - React.createElement("hr", { className: "m-0" }), - React.createElement(DevelopedByAffiliations, null)), - React.createElement(CoralTeaserCards, null), - React.createElement(OrdinoFooter, null))); -} -//# sourceMappingURL=HomePage.js.map \ No newline at end of file diff --git a/dist/pages/HomePage.js.map b/dist/pages/HomePage.js.map deleted file mode 100644 index 52320aa..0000000 --- a/dist/pages/HomePage.js.map +++ /dev/null @@ -1 +0,0 @@ -{"version":3,"file":"HomePage.js","sourceRoot":"","sources":["../../src/pages/HomePage.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,KAAK,MAAM,OAAO,CAAC;AAC/B,OAAO,EAAC,YAAY,EAAC,MAAM,QAAQ,CAAC;AACpC,OAAO,EAAC,SAAS,EAAC,MAAM,wBAAwB,CAAC;AACjD,OAAO,EAAC,uBAAuB,EAAC,MAAM,sCAAsC,CAAC;AAC7E,OAAO,EAAC,gBAAgB,EAAC,MAAM,+BAA+B,CAAC;AAC/D,OAAO,EAAC,cAAc,EAAC,MAAM,6BAA6B,CAAC;AAE3D,MAAM,UAAU,QAAQ;IAEtB,OAAO,CACL;QACE,oBAAC,SAAS,OAAa;QACvB,6BAAK,SAAS,EAAC,gCAAgC;YAC7C,oBAAC,cAAc,OAAkB;YACjC,4BAAI,SAAS,EAAC,KAAK,GAAG;YACtB,oBAAC,uBAAuB,OAA2B,CAC/C;QACN,oBAAC,gBAAgB,OAAoB;QACrC,oBAAC,YAAY,OAAgB,CAC5B,CACJ,CAAC;AACJ,CAAC"} \ No newline at end of file diff --git a/dist/pages/NewsPage.d.ts b/dist/pages/NewsPage.d.ts deleted file mode 100644 index 42cae7d..0000000 --- a/dist/pages/NewsPage.d.ts +++ /dev/null @@ -1,2 +0,0 @@ -/// -export declare function NewsPage(): JSX.Element; diff --git a/dist/pages/NewsPage.js b/dist/pages/NewsPage.js deleted file mode 100644 index b6f7726..0000000 --- a/dist/pages/NewsPage.js +++ /dev/null @@ -1,74 +0,0 @@ -import * as React from 'react'; -import { HeaderNavigation, OrdinoFooter, OrdinoScrollspy, OrdinoScrollspyItem, useScrollToSlug } from 'ordino'; -import { Link } from 'react-router-dom'; -import confetti from 'canvas-confetti'; -import coralHero from '../assets/coral-hero.png'; -import { hasCookie } from '../util'; -const sections = [ - { - id: 'v1-0', - name: 'Version 1.0', - date: '2021-11-11', - markup: () => (React.createElement(React.Fragment, null, - React.createElement("h4", { className: "my-4" }, "Hello Coral! \uD83D\uDC23"), - React.createElement("p", null, "This is the first release of Coral. Coral is a cohort analysis tool to interactively create and refine cohorts, which can then be compared, characterized, and inspected down to the level of single items."), - React.createElement("img", { className: "img-fluid mb-4", src: coralHero, alt: "Screenshot of an analysis in Coral." }), - React.createElement("p", null, - "Coral comes with this dedicated homepage to welcome new users, providing an overview of ", - React.createElement(Link, { to: "/features" }, "the features"), - ", ", - React.createElement(Link, { to: "/datasets" }, "available datasets"), - ", and ", - React.createElement(Link, { to: "/publications" }, "publications"), - ". For an overview of Coral's features, we also provide an ", - React.createElement(Link, { to: "/help" }, "introductory video"), - " to get to know Coral."), - React.createElement("p", null, - "In the future, we will also present the most recent changes and developments here. ", - React.createElement("br", null), - "You can skip this welcome page and start the analysis in Coral directly, by going to the ", - React.createElement("a", { href: "./app", target: "_blank", rel: "noopener noreferrer" }, - React.createElement("code", null, "/app")), - " subsite."))) - } -]; -export function NewsPage() { - useScrollToSlug(); - React.useEffect(() => { - var _a; - const celebrationCookieKey = ((_a = sections[0]) === null || _a === void 0 ? void 0 : _a.id) + '_celebrated'; - if (!hasCookie(celebrationCookieKey)) { - document.cookie = `${celebrationCookieKey}=true; SameSite=Lax;`; - // only celebrate recent releases - const timeDiff = new Date().getTime() - new Date(sections[0].date).getTime(); - const maxTimeDiff = 2 * 7 * 24 * 60 * 60 * 1000; // two weeks in millis - if (timeDiff < maxTimeDiff) { - confetti({ particleCount: 150, spread: 100, origin: { x: 0.2, y: 0.7 }, angle: 45 }); - confetti({ particleCount: 150, spread: 100, origin: { x: 0.7, y: 0.7 }, angle: 135 }); - } - } - }, []); - return (React.createElement(React.Fragment, null, - React.createElement(HeaderNavigation, { bg: "none" }), - React.createElement("div", { className: "position-relative py-6" }, - React.createElement(OrdinoScrollspy, { items: sections.map((section) => ({ id: section.id, name: section.name })) }, (handleOnChange) => React.createElement(React.Fragment, null, - React.createElement("div", { className: "container pb-6" }, - React.createElement("div", { className: "row" }, - React.createElement("div", { className: "col-12 col-xl-10 offset-xl-1 col-xxl-8 offset-xxl-2" }, sections.map((item, index) => { - return ( - // `id` attribute must match the one in the scrollspy - React.createElement(OrdinoScrollspyItem, { className: "pt-6", id: item.id, key: item.name, index: index, handleOnChange: handleOnChange }, - React.createElement(React.Fragment, null, - React.createElement("h4", { className: "text-start mt-2 d-flex align-items-center mb-3" }, - React.createElement("i", { className: "me-2 ordino-icon-1 fas fa-chevron-circle-right" }), - " ", - item.name, - " (", - item.date, - ")"), - React.createElement("div", { className: "card shadow-sm h-100" }, - React.createElement("div", { className: "card-body" }, item.markup()))))); - })))), - React.createElement(OrdinoFooter, null)))))); -} -//# sourceMappingURL=NewsPage.js.map \ No newline at end of file diff --git a/dist/pages/NewsPage.js.map b/dist/pages/NewsPage.js.map deleted file mode 100644 index 77b7c05..0000000 --- a/dist/pages/NewsPage.js.map +++ /dev/null @@ -1 +0,0 @@ -{"version":3,"file":"NewsPage.js","sourceRoot":"","sources":["../../src/pages/NewsPage.tsx"],"names":[],"mappings":"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"} \ No newline at end of file diff --git a/dist/pages/PublicationPage.d.ts b/dist/pages/PublicationPage.d.ts deleted file mode 100644 index 40e9269..0000000 --- a/dist/pages/PublicationPage.d.ts +++ /dev/null @@ -1,2 +0,0 @@ -/// -export declare function PublicationPage(): JSX.Element; diff --git a/dist/pages/PublicationPage.js b/dist/pages/PublicationPage.js deleted file mode 100644 index ebceb1f..0000000 --- a/dist/pages/PublicationPage.js +++ /dev/null @@ -1,155 +0,0 @@ -import * as React from 'react'; -import { HeaderNavigation, OrdinoFooter, OrdinoScrollspy, OrdinoScrollspyItem } from 'ordino'; -function CoralPublication() { - return React.createElement("div", { className: "row" }, - React.createElement("div", { className: "shadow-sm card p-2 overflow-hidden" }, - React.createElement("div", { className: "card-body" }, - React.createElement("iframe", { className: "mb-2", width: "100%", height: "100%", src: "https://www.youtube-nocookie.com/embed/vSd3a9J63wQ?autoplay=0", frameBorder: "0", allow: "accelerometer; autoplay; clipboard-write; encrypted-media; gyroscope; picture-in-picture", allowFullScreen: true }), - React.createElement("h5", { className: "card-title" }, "Abstract"), - React.createElement("p", { className: "card-text" }, "A main task in computational cancer analysis is the identification of patient subgroups (i.e., cohorts) based on metadata attributes (patient stratification) or genomic markers of response (biomarkers). Coral is a web-based cohort analysis tool that is designed to support this task: Users can interactively create and refine cohorts, which can then be compared, characterized, and inspected down to the level of single items. We visualize the evolution of cohorts and also provide intuitive access to prevalence information. Coral can be utilized to explore any type of cohort and sample set. Here, we focus on the analysis of genomic data from cancer patients and therefore included in the public version data from the AACR Project GENIE, The Cancer Genome Atlas, and the Cell Line Encyclopedia."), - React.createElement("h5", { className: "card-title" }, "Citation"), - React.createElement("p", { className: "card-text" }, - "Patrick Adelberger, Klaus Eckelt, Markus J. Bauer, Marc Streit, Christian Haslinger, Thomas Zichner.", - React.createElement("br", null), - React.createElement("b", null, "Coral: a web-based visual analysis tool for creating and characterizing cohorts."), - React.createElement("br", null), - React.createElement("i", null, "Bioinformatics, doi:10.1093/bioinformatics/btab695, 2021."))), - React.createElement("div", { className: "card-footer" }, - React.createElement("a", { href: "https://academic.oup.com/bioinformatics/advance-article/doi/10.1093/bioinformatics/btab695/6384564?guestAccessKey=8b1777b2-4157-46ff-b5c2-0a69f1931cce", target: "_blank", rel: "noopener noreferrer", className: "btn btn-light me-2" }, - React.createElement("i", { className: "me-1 fas fa-globe-americas" }), - " Publisher"), - React.createElement("a", { href: "https://academic.oup.com/bioinformatics/advance-article-pdf/doi/10.1093/bioinformatics/btab695/40532463/btab695.pdf?guestAccessKey=8b1777b2-4157-46ff-b5c2-0a69f1931cce", target: "_blank", className: "btn btn-light me-2" }, - React.createElement("i", { className: "me-1 fas fa-file-pdf" }), - " Download"), - React.createElement("a", { href: "https://github.com/Caleydo/Coral", target: "_blank", rel: "noopener noreferrer", className: "btn btn-light" }, - React.createElement("i", { className: "me-1 fab fa-github" }), - " Source code")))); -} -function OrdinoPublication() { - return React.createElement("div", { className: "row" }, - React.createElement("div", { className: "shadow-sm card p-2 overflow-hidden" }, - React.createElement("div", { className: "card-body" }, - React.createElement("iframe", { className: "mb-2", width: "100%", height: "100%", src: "https://www.youtube-nocookie.com/embed/TIDUsEOsI_Y?autoplay=0", frameBorder: "0", allow: "autoplay; clipboard-write; encrypted-media; picture-in-picture", allowFullScreen: true }), - React.createElement("h5", { className: "card-title" }, "Abstract"), - React.createElement("p", { className: "card-text" }, "Ordino is a web-based analysis tool for cancer genomics that allows users to flexibly rank, filter and explore genes, cell lines and tissue samples based on pre-loaded data, including The Cancer Genome Atlas, the Cancer Cell Line Encyclopedia and manually uploaded information. Interactive tabular data visualization that facilitates the user-driven prioritization process forms a core component of Ordino. Detail views of selected items complement the exploration. Findings can be stored, shared and reproduced via the integrated session management."), - React.createElement("h5", { className: "card-title" }, "Citation"), - React.createElement("p", { className: "card-text" }, - "Marc Streit, Samuel Gratzl, Holger Stitz, Andreas Wernitznig, Thomas Zichner, Christian Haslinger.", - React.createElement("br", null), - React.createElement("b", null, "Ordino: visual analysis tool for ranking and exploring genes, cell lines, and tissue samples."), - React.createElement("br", null), - React.createElement("i", null, "Bioinformatics, 35(17): 3140-3142, 2019."))), - React.createElement("div", { className: "card-footer" }, - React.createElement("a", { href: "https://dx.doi.org/10.1093/bioinformatics/btz009", target: "_blank", rel: "noopener noreferrer", className: "btn btn-light me-2" }, - React.createElement("i", { className: "me-1 fas fa-globe-americas" }), - " Publisher"), - React.createElement("a", { href: "https://academic.oup.com/bioinformatics/article-pdf/35/17/3140/29591819/btz009.pdf", target: "_blank", className: "btn btn-light me-2" }, - React.createElement("i", { className: "me-1 fas fa-file-pdf" }), - " Download"), - React.createElement("a", { href: "https://github.com/Caleydo/ordino_public", target: "_blank", rel: "noopener noreferrer", className: "btn btn-light" }, - React.createElement("i", { className: "me-1 fab fa-github" }), - " Source code")))); -} -function TourdinoPublication() { - return React.createElement("div", { className: "row" }, - React.createElement("div", { className: "shadow-sm card p-2 overflow-hidden" }, - React.createElement("div", { className: "card-body" }, - React.createElement("iframe", { className: "mb-2", width: "100%", height: "100%", src: "https://www.youtube-nocookie.com/embed/k6EPm6i-Vw4?autoplay=0", frameBorder: "0", allow: "autoplay; clipboard-write; encrypted-media; picture-in-picture", allowFullScreen: true }), - React.createElement("h5", { className: "card-title" }, "Abstract"), - React.createElement("p", { className: "card-text" }, "Seeking relationships and patterns in tabular data is a common data exploration task. To confirm hypotheses that are based on visual patterns observed during exploratory data analysis, users need to be able to quickly compare data subsets, and get further information on the significance of the result and the statistical test applied. Existing tools, however, either focus on the comparison of a single data type, such as comparing numerical attributes only, or provide little or no statistical evaluation to assess a hypothesis. To fill this gap, we present TourDino, a support view that helps users who are not experts in statistics to verify generated hypotheses and confirm insights gained during the exploration of tabular data. In TourDino we present an overview of the statistical significance of various row or column comparisons. On demand, we show further details, including the test score, a textual description, and a detail visualization explaining the results. To demonstrate the efficacy of our approach, we have integrated TourDino in the Ordino drug discovery platform for the purpose of identifying new drug targets."), - React.createElement("h5", { className: "card-title" }, "Citation"), - React.createElement("p", { className: "card-text" }, - "Klaus Eckelt, Patrick Adelberger, Thomas Zichner, Andreas Wernitznig, Marc Streit.", - React.createElement("br", null), - React.createElement("b", null, "TourDino: A Support View for Confirming Patterns in Tabular Data."), - React.createElement("br", null), - React.createElement("i", null, "EuroVis Workshop on Visual Analytics (EuroVA '19), 2019."))), - React.createElement("div", { className: "card-footer" }, - React.createElement("a", { href: "https://diglib.eg.org/handle/10.2312/eurova20191117", target: "_blank", rel: "noopener noreferrer", className: "btn btn-light me-2" }, - React.createElement("i", { className: "me-1 fas fa-globe-americas" }), - "Publisher"), - React.createElement("a", { href: "https://diglib.eg.org/bitstream/handle/10.2312/eurova20191117/007-011.pdf?sequence=1&isAllowed=y", target: "_blank", className: "btn btn-light me-2" }, - React.createElement("i", { className: "me-1 fas fa-file-pdf" }), - " Download"), - React.createElement("a", { href: "https://github.com/Caleydo/tourdino", target: "_blank", rel: "noopener noreferrer", className: "btn btn-light" }, - React.createElement("i", { className: "me-1 fab fa-github" }), - " Source code")))); -} -function TagglePublication() { - return React.createElement("div", { className: "row" }, - React.createElement("div", { className: "shadow-sm card p-2 overflow-hidden" }, - React.createElement("div", { className: "card-body" }, - React.createElement("iframe", { className: "mb-2", width: "100%", height: "100%", src: "https://www.youtube-nocookie.com/embed/t50KgQKK8EQ?autoplay=0", frameBorder: "0", allow: "autoplay; clipboard-write; encrypted-media; picture-in-picture", allowFullScreen: true }), - React.createElement("h5", { className: "card-title" }, "Abstract"), - React.createElement("p", { className: "card-text" }, "Most tabular data visualization techniques focus on overviews, yet many practical analysis tasks are concerned with investigating individual items of interest. At the same time, relating an item to the rest of a potentially large table is important. In this work we present Taggle, a tabular visualization technique for exploring and presenting large and complex tables. Taggle takes an item-centric, spreadsheet-like approach, visualizing each row in the source data individually using visual encodings for the cells. At the same time, Taggle introduces data-driven aggregation of data subsets. The aggregation strategy is complemented by interaction methods tailored to answer specific analysis questions, such as sorting based on multiple columns and rich data selection and filtering capabilities. We demonstrate Taggle using a case study conducted by a domain expert on complex genomics data analysis for the purpose of drug discovery."), - React.createElement("h5", { className: "card-title" }, "Citation"), - React.createElement("p", { className: "card-text" }, - "Katarina Furmanova, Samuel Gratzl, Holger Stitz, Thomas Zichner, Miroslava Jaresova, Martin Ennemoser, Alexander Lex, Marc Streit.", - React.createElement("br", null), - React.createElement("b", null, "Taggle: Combining Overview and Details in Tabular Data Visualizations."), - React.createElement("br", null), - React.createElement("i", null, "Information Visualization, 19(2): 114-136, 2019."))), - React.createElement("div", { className: "card-footer" }, - React.createElement("a", { href: "https://dx.doi.org/10.1177/1473871619878085", target: "_blank", rel: "noopener noreferrer", className: "btn btn-light me-2" }, - React.createElement("i", { className: "me-1 fas fa-globe-americas" }), - " Publisher"), - React.createElement("a", { href: "https://journals.sagepub.com/doi/pdf/10.1177/1473871619878085", target: "_blank", className: "btn btn-light me-2" }, - React.createElement("i", { className: "me-1 fas fa-file-pdf" }), - " Download"), - React.createElement("a", { href: "https://github.com/lineupjs/lineupjs", target: "_blank", rel: "noopener noreferrer", className: "btn btn-light" }, - React.createElement("i", { className: "me-1 fab fa-github" }), - " Source code")))); -} -const publications = [ - { - id: 'coral-publication', - name: 'Coral', - icon: 'fas fa-book-open', - factory: () => React.createElement(CoralPublication, null) - }, - { - id: 'ordino-publication', - name: 'Ordino', - icon: 'fas fa-book-open', - factory: () => React.createElement(OrdinoPublication, null) - }, - { - id: 'tourdino-publication', - name: 'TourDino', - icon: 'fas fa-book-open', - factory: () => React.createElement(TourdinoPublication, null) - }, - { - id: 'taggle-publication', - name: 'Taggle', - icon: 'fas fa-book-open', - factory: () => React.createElement(TagglePublication, null) - }, -]; -export function PublicationPage() { - return (React.createElement(React.Fragment, null, - React.createElement(HeaderNavigation, { bg: "none" }), - React.createElement("div", { className: "position-relative pt-6" }, - React.createElement(OrdinoScrollspy, { items: publications.map((publication) => ({ id: publication.id, name: publication.name })) }, (handleOnChange) => React.createElement(React.Fragment, null, - React.createElement("div", { className: "ordino-publication-page container pb-6" }, - React.createElement("div", { className: "row" }, - React.createElement("div", { className: "col-12 col-xl-10 offset-xl-1 col-xxl-8 offset-xxl-2" }, - React.createElement("p", { className: "lead text-gray-600 pt-6" }, - "Coral and its components have been described in the following scientific publications.", - React.createElement("br", null), - "Please cite at least the first article when using Coral and publishing your results."))), - React.createElement("div", { className: "row" }, - React.createElement("div", { className: "col-12 col-xl-10 offset-xl-1 col-xxl-8 offset-xxl-2" }, publications.map((item, index) => { - return ( - // `id` attribute must match the one in the scrollspy - React.createElement(OrdinoScrollspyItem, { className: (index === 0) ? 'pt-3' : 'pt-6', id: item.id, key: item.name, index: index, handleOnChange: handleOnChange }, - React.createElement(React.Fragment, null, - React.createElement("h5", { className: "text-start mt-2 mb-3" }, - React.createElement("i", { className: `me-2 ordino-icon-2 ${item.icon}` }), - " ", - item.name), - React.createElement(item.factory, null)))); - })))), - React.createElement(OrdinoFooter, null)))))); -} -//# sourceMappingURL=PublicationPage.js.map \ No newline at end of file diff --git a/dist/pages/PublicationPage.js.map b/dist/pages/PublicationPage.js.map deleted file mode 100644 index 1c4fab6..0000000 --- a/dist/pages/PublicationPage.js.map +++ /dev/null @@ -1 +0,0 @@ -{"version":3,"file":"PublicationPage.js","sourceRoot":"","sources":["../../src/pages/PublicationPage.tsx"],"names":[],"mappings":"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"} \ No newline at end of file diff --git a/dist/pages/components/CoralContactForm.d.ts b/dist/pages/components/CoralContactForm.d.ts deleted file mode 100644 index f9f77cf..0000000 --- a/dist/pages/components/CoralContactForm.d.ts +++ /dev/null @@ -1,2 +0,0 @@ -/// -export declare function CoralContactForm(): JSX.Element; diff --git a/dist/pages/components/CoralContactForm.js b/dist/pages/components/CoralContactForm.js deleted file mode 100644 index 84346ad..0000000 --- a/dist/pages/components/CoralContactForm.js +++ /dev/null @@ -1,40 +0,0 @@ -import * as React from 'react'; -const CONTACT_FORM_EMAIL = 'coral@caleydo.org'; -export function CoralContactForm() { - const handleSubmit = React.useCallback((event) => { - event.preventDefault(); - const form = event.currentTarget; - const data = new FormData(form); - const subject = data.get('subject').toString(); - const message = data.get('message').toString(); - let parameters = subject || message ? '?' : ''; - if (subject) { - parameters += `subject=${encodeURIComponent(subject)}`; - } - if (message) { - parameters += `${subject ? '&' : ''}body=${encodeURIComponent(message)}`; - } - form.reset(); - window.location.href = 'mailto:' + CONTACT_FORM_EMAIL + parameters; - }, []); - return (React.createElement("div", { className: "card shadow-sm p-2" }, - React.createElement("div", { className: "card-body" }, - React.createElement("p", { className: "card-text" }, - 'Do you have questions or found a bug, do not hesitate to contact us using the contact form below. You can also contact us by writing an email to ', - React.createElement("a", { className: "card-link", href: "mailto:coral@caleydo.org." }, "coral@caleydo.org"), - ". We are glad to help you."), - React.createElement("form", { onSubmit: handleSubmit }, - React.createElement("div", { className: "row-cols-md-3 mb-3" }, - React.createElement("label", { className: "form-label" }, "Type of contact"), - React.createElement("select", { name: "subject", className: "form-select" }, - React.createElement("option", null, "I have some general feedback"), - React.createElement("option", null, "I have a question"), - React.createElement("option", null, "I want to report a bug"))), - React.createElement("div", { className: "mb-3" }, - React.createElement("label", { className: "form-label" }, "Message"), - React.createElement("textarea", { className: "form-control", name: "message", rows: 5 })), - React.createElement("div", { className: "justify-content-end row" }, - React.createElement("div", { className: "col-md-auto" }, - React.createElement("button", { title: "Send Message", type: "submit", className: "btn btn-secondary" }, "Send Message"))))))); -} -//# sourceMappingURL=CoralContactForm.js.map \ No newline at end of file diff --git a/dist/pages/components/CoralContactForm.js.map b/dist/pages/components/CoralContactForm.js.map deleted file mode 100644 index 61cbc91..0000000 --- a/dist/pages/components/CoralContactForm.js.map +++ /dev/null @@ -1 +0,0 @@ -{"version":3,"file":"CoralContactForm.js","sourceRoot":"","sources":["../../../src/pages/components/CoralContactForm.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,KAAK,MAAM,OAAO,CAAC;AAE/B,MAAM,kBAAkB,GAAG,mBAAmB,CAAC;AAE/C,MAAM,UAAU,gBAAgB;IAC5B,MAAM,YAAY,GAAG,KAAK,CAAC,WAAW,CAAC,CAAC,KAA2B,EAAE,EAAE;QACnE,KAAK,CAAC,cAAc,EAAE,CAAC;QACvB,MAAM,IAAI,GAAG,KAAK,CAAC,aAAgC,CAAC;QACpD,MAAM,IAAI,GAAG,IAAI,QAAQ,CAAC,IAAI,CAAC,CAAC;QAChC,MAAM,OAAO,GAAG,IAAI,CAAC,GAAG,CAAC,SAAS,CAAC,CAAC,QAAQ,EAAE,CAAC;QAC/C,MAAM,OAAO,GAAG,IAAI,CAAC,GAAG,CAAC,SAAS,CAAC,CAAC,QAAQ,EAAE,CAAC;QAC/C,IAAI,UAAU,GAAG,OAAO,IAAI,OAAO,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC;QAC/C,IAAI,OAAO,EAAE;YACT,UAAU,IAAI,WAAW,kBAAkB,CAAC,OAAO,CAAC,EAAE,CAAC;SAC1D;QACD,IAAI,OAAO,EAAE;YACT,UAAU,IAAI,GAAG,OAAO,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,QAAQ,kBAAkB,CAAC,OAAO,CAAC,EAAE,CAAC;SAC5E;QACD,IAAI,CAAC,KAAK,EAAE,CAAC;QACb,MAAM,CAAC,QAAQ,CAAC,IAAI,GAAG,SAAS,GAAG,kBAAkB,GAAG,UAAU,CAAC;IACvE,CAAC,EAAE,EAAE,CAAC,CAAC;IAEP,OAAO,CACH,6BAAK,SAAS,EAAC,oBAAoB;QAC/B,6BAAK,SAAS,EAAC,WAAW;YACtB,2BAAG,SAAS,EAAC,WAAW;gBACnB,mJAAmJ;gBACpJ,2BAAG,SAAS,EAAC,WAAW,EAAC,IAAI,EAAC,2BAA2B,wBAAsB;6CAC9E;YACL,8BAAM,QAAQ,EAAE,YAAY;gBACxB,6BAAK,SAAS,EAAC,oBAAoB;oBAC/B,+BAAO,SAAS,EAAC,YAAY,sBAAwB;oBACrD,gCAAQ,IAAI,EAAC,SAAS,EAAC,SAAS,EAAC,aAAa;wBAC1C,mEAA6C;wBAC7C,wDAAkC;wBAClC,6DAAuC,CAClC,CACP;gBAEN,6BAAK,SAAS,EAAC,MAAM;oBACjB,+BAAO,SAAS,EAAC,YAAY,cAAgB;oBAC7C,kCAAU,SAAS,EAAC,cAAc,EAAC,IAAI,EAAC,SAAS,EAAC,IAAI,EAAE,CAAC,GAAa,CACpE;gBAEN,6BAAK,SAAS,EAAC,yBAAyB;oBACpC,6BAAK,SAAS,EAAC,aAAa;wBACxB,gCAAQ,KAAK,EAAC,cAAc,EAAC,IAAI,EAAC,QAAQ,EAAC,SAAS,EAAC,mBAAmB,mBAE/D,CACP,CACJ,CACH,CACL,CACJ,CACT,CAAC;AACN,CAAC"} \ No newline at end of file diff --git a/dist/pages/components/CoralHelpSection.d.ts b/dist/pages/components/CoralHelpSection.d.ts deleted file mode 100644 index 5c5213f..0000000 --- a/dist/pages/components/CoralHelpSection.d.ts +++ /dev/null @@ -1,10 +0,0 @@ -import React from 'react'; -interface ICoralHelpSectionProps { - /** - * Whether to open the links to other pages in a new tab - */ - openInNewWindow?: boolean; - children?: React.ReactNode; -} -export declare function CoralHelpSection(props: ICoralHelpSectionProps): JSX.Element; -export {}; diff --git a/dist/pages/components/CoralHelpSection.js b/dist/pages/components/CoralHelpSection.js deleted file mode 100644 index 1f16f32..0000000 --- a/dist/pages/components/CoralHelpSection.js +++ /dev/null @@ -1,58 +0,0 @@ -import React from 'react'; -import { DisclaimerCard } from './DisclaimerCard'; -import { CoralContactForm } from './CoralContactForm'; -import { OrdinoScrollspy, OrdinoScrollspyItem } from 'ordino'; -import { VideoCard } from './VideoCard'; -import { TermsOfUseCard } from './TermsOfUseCard'; -import { SourceCodeCard } from './SourceCodeCard'; -const cards = [ - { - id: 'coral-at-a-glance', - name: 'Coral at a Glance', - icon: 'fas fa-eye', - factory: (props) => React.createElement(VideoCard, Object.assign({}, props)) - }, - { - id: 'contact-us', - name: 'Contact us', - icon: 'fas fa-at', - factory: () => React.createElement(CoralContactForm, null) - }, - { - id: 'disclaimer', - name: 'Disclaimer', - icon: 'fas fa-exclamation-triangle', - factory: () => React.createElement(DisclaimerCard, null) - }, - { - id: 'terms-of-use', - name: 'Terms of use', - icon: 'fas fa-user-tie', - factory: () => React.createElement(TermsOfUseCard, null) - }, - { - id: 'source-code-licenses', - name: 'Source code', - icon: 'fas fa-code', - factory: () => React.createElement(SourceCodeCard, null) - }, -]; -export function CoralHelpSection(props) { - return (React.createElement(React.Fragment, null, - React.createElement(OrdinoScrollspy, { items: cards.map((item) => ({ id: item.id, name: item.name })) }, (handleOnChange) => React.createElement(React.Fragment, null, - React.createElement("div", { className: "container pb-5" }, - React.createElement("div", { className: "row" }, - React.createElement("div", { className: "col-12 col-xl-10 offset-xl-1 col-xxl-8 offset-xxl-2" }, cards.map((item, index) => { - return ( - // `id` attribute must match the one in the scrollspy - React.createElement(OrdinoScrollspyItem, { className: "pt-6", id: item.id, key: item.name, index: index, handleOnChange: handleOnChange }, - React.createElement(React.Fragment, null, - React.createElement("h4", { className: "text-start mt-2 mb-3" }, - React.createElement("i", { className: `me-2 ordino-icon-2 ${item.icon}` }), - " ", - item.name), - React.createElement(item.factory, Object.assign({}, { openInNewWindow: props.openInNewWindow }))))); - })))), - props.children)))); -} -//# sourceMappingURL=CoralHelpSection.js.map \ No newline at end of file diff --git a/dist/pages/components/CoralHelpSection.js.map b/dist/pages/components/CoralHelpSection.js.map deleted file mode 100644 index 9850558..0000000 --- a/dist/pages/components/CoralHelpSection.js.map +++ /dev/null @@ -1 +0,0 @@ -{"version":3,"file":"CoralHelpSection.js","sourceRoot":"","sources":["../../../src/pages/components/CoralHelpSection.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,MAAM,OAAO,CAAC;AAC1B,OAAO,EAAC,cAAc,EAAC,MAAM,kBAAkB,CAAC;AAChD,OAAO,EAAC,gBAAgB,EAAC,MAAM,oBAAoB,CAAC;AACpD,OAAO,EAAC,eAAe,EAAE,mBAAmB,EAAC,MAAM,QAAQ,CAAC;AAC5D,OAAO,EAAC,SAAS,EAAkB,MAAM,aAAa,CAAC;AACvD,OAAO,EAAC,cAAc,EAAC,MAAM,kBAAkB,CAAC;AAChD,OAAO,EAAC,cAAc,EAAC,MAAM,kBAAkB,CAAC;AAEhD,MAAM,KAAK,GAAG;IACV;QACI,EAAE,EAAE,mBAAmB;QACvB,IAAI,EAAE,mBAAmB;QACzB,IAAI,EAAE,YAAY;QAClB,OAAO,EAAE,CAAC,KAAsB,EAAE,EAAE,CAAC,oBAAC,SAAS,oBAAK,KAAK,EAAI;KAChE;IACD;QACI,EAAE,EAAE,YAAY;QAChB,IAAI,EAAE,YAAY;QAClB,IAAI,EAAE,WAAW;QACjB,OAAO,EAAE,GAAG,EAAE,CAAC,oBAAC,gBAAgB,OAAG;KAEtC;IACD;QACI,EAAE,EAAE,YAAY;QAChB,IAAI,EAAE,YAAY;QAClB,IAAI,EAAE,6BAA6B;QACnC,OAAO,EAAE,GAAG,EAAE,CAAC,oBAAC,cAAc,OAAG;KAEpC;IACD;QACI,EAAE,EAAE,cAAc;QAClB,IAAI,EAAE,cAAc;QACpB,IAAI,EAAE,iBAAiB;QACvB,OAAO,EAAE,GAAG,EAAE,CAAC,oBAAC,cAAc,OAAG;KACpC;IACD;QACI,EAAE,EAAE,sBAAsB;QAC1B,IAAI,EAAE,aAAa;QACnB,IAAI,EAAE,aAAa;QACnB,OAAO,EAAE,GAAG,EAAE,CAAC,oBAAC,cAAc,OAAG;KACpC;CACJ,CAAC;AAWF,MAAM,UAAU,gBAAgB,CAAC,KAA6B;IAC1D,OAAO,CAAC;QACJ,oBAAC,eAAe,IAAC,KAAK,EAAE,KAAK,CAAC,GAAG,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,CAAC,EAAC,EAAE,EAAE,IAAI,CAAC,EAAE,EAAE,IAAI,EAAE,IAAI,CAAC,IAAI,EAAC,CAAC,CAAC,IACxE,CAAC,cAAc,EAAE,EAAE,CAChB;YACI,6BAAK,SAAS,EAAC,gBAAgB;gBAC3B,6BAAK,SAAS,EAAC,KAAK;oBAChB,6BAAK,SAAS,EAAC,qDAAqD,IAC/D,KAAK,CAAC,GAAG,CAAC,CAAC,IAAI,EAAE,KAAK,EAAE,EAAE;wBACvB,OAAO;wBACH,qDAAqD;wBACrD,oBAAC,mBAAmB,IAAC,SAAS,EAAC,MAAM,EAAC,EAAE,EAAE,IAAI,CAAC,EAAE,EAAE,GAAG,EAAE,IAAI,CAAC,IAAI,EAAE,KAAK,EAAE,KAAK,EAAE,cAAc,EAAE,cAAc;4BAC3G;gCACI,4BAAI,SAAS,EAAC,uBAAuB;oCAAC,2BAAG,SAAS,EAAE,sBAAsB,IAAI,CAAC,IAAI,EAAE,GAAM;;oCAAE,IAAI,CAAC,IAAI,CAAM;gCAC5G,oBAAC,IAAI,CAAC,OAAO,oBAAK,EAAC,eAAe,EAAE,KAAK,CAAC,eAAe,EAAC,EAAI,CAC/D,CACe,CACzB,CAAC;oBACN,CAAC,CAAC,CACA,CACJ,CACJ;YACL,KAAK,CAAC,QAAQ,CAChB,CAEO,CACnB,CAAC,CAAC;AACT,CAAC"} \ No newline at end of file diff --git a/dist/pages/components/CoralHero.d.ts b/dist/pages/components/CoralHero.d.ts deleted file mode 100644 index e8214cd..0000000 --- a/dist/pages/components/CoralHero.d.ts +++ /dev/null @@ -1,2 +0,0 @@ -/// -export declare function CoralHero(): JSX.Element; diff --git a/dist/pages/components/CoralHero.js b/dist/pages/components/CoralHero.js deleted file mode 100644 index d51fbf2..0000000 --- a/dist/pages/components/CoralHero.js +++ /dev/null @@ -1,48 +0,0 @@ -import * as React from 'react'; -import { Link } from 'react-router-dom'; -import ordinoHero from '../../assets/coral-hero.png'; -import { HeaderNavigation } from 'ordino'; -const INTRO_VIDEO_MODAL_ID = 'coral-intro-video-modal'; -export function CoralHero() { - const [modalIsClosed, setModalIsClosed] = React.useState(true); - const videoRef = React.useRef(null); - const handleCloseModal = (event) => { - const target = event.target; - // backdrop === modal node - if (target.id === INTRO_VIDEO_MODAL_ID) { - setModalIsClosed(true); - } - }; - return (React.createElement(React.Fragment, null, - React.createElement("div", { className: "coral-hero" }, - React.createElement(HeaderNavigation, { bg: "none" }), - React.createElement("div", { className: "container" }, - React.createElement("div", { className: "row coral-hero-claim my-4" }, - React.createElement("div", { className: "col text-center" }, - React.createElement("p", null, - "Coral is a cohort analysis tool to interactively create and refine patient cohorts, ", - React.createElement("br", null), - "while visualizing their provenance in the Cohort Evolution Graph. The resulting cohorts can then ", - React.createElement("br", null), - "be compared, characterized, and inspected down to the level of single entities."))), - React.createElement("div", { className: "row coral-hero-actions my-4" }, - React.createElement("div", { className: "col text-center" }, - React.createElement("button", { type: "button", className: "btn btn-link btn-lg", onClick: () => setModalIsClosed(false), "data-bs-toggle": "modal", "data-bs-target": `#${INTRO_VIDEO_MODAL_ID}` }, - React.createElement("i", { className: "fas fa-play" }), - "Watch intro video")), - React.createElement("div", { className: "col text-center" }, - React.createElement(Link, { to: "/help", className: "btn btn-link btn-lg" }, - React.createElement("i", { className: "fas fa-question" }), - "Learn more about Coral"))), - React.createElement("div", { className: "row coral-hero-image mt-5" }, - React.createElement("div", { className: "col" }, - React.createElement("img", { src: ordinoHero, alt: "Screenshot of an analysis with Coral" }))))), - React.createElement("div", { className: "modal", id: INTRO_VIDEO_MODAL_ID, onClick: handleCloseModal, "aria-labelledby": "coral-intro-video-modal-title", "aria-hidden": "true" }, - React.createElement("div", { className: "modal-dialog coral-intro-video-modal" }, - React.createElement("div", { className: "modal-content" }, - React.createElement("div", { className: "modal-header" }, - React.createElement("div", { className: "modal-title h4" }, "Introduction to Coral"), - React.createElement("button", { type: "button", className: "btn-close", onClick: () => setModalIsClosed(true), "data-bs-dismiss": "modal", "aria-label": "Close" })), - React.createElement("div", { className: "modal-body" }, !modalIsClosed && React.createElement("iframe", { ref: videoRef, width: "1280", height: "720", src: "https://www.youtube-nocookie.com/embed/vSd3a9J63wQ", frameBorder: "0", allow: "accelerometer; autoplay; clipboard-write; encrypted-media; gyroscope; picture-in-picture", allowFullScreen: true }))))))); -} -//# sourceMappingURL=CoralHero.js.map \ No newline at end of file diff --git a/dist/pages/components/CoralHero.js.map b/dist/pages/components/CoralHero.js.map deleted file mode 100644 index 3ced632..0000000 --- a/dist/pages/components/CoralHero.js.map +++ /dev/null @@ -1 +0,0 @@ -{"version":3,"file":"CoralHero.js","sourceRoot":"","sources":["../../../src/pages/components/CoralHero.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,KAAK,MAAM,OAAO,CAAC;AAC/B,OAAO,EAAC,IAAI,EAAC,MAAM,kBAAkB,CAAC;AACtC,OAAO,UAAU,MAAM,6BAA6B,CAAC;AACrD,OAAO,EAAC,gBAAgB,EAAC,MAAM,QAAQ,CAAC;AAExC,MAAM,oBAAoB,GAAG,yBAAyB,CAAC;AAEvD,MAAM,UAAU,SAAS;IACvB,MAAM,CAAC,aAAa,EAAE,gBAAgB,CAAC,GAAG,KAAK,CAAC,QAAQ,CAAC,IAAI,CAAC,CAAC;IAC/D,MAAM,QAAQ,GAAG,KAAK,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC;IAEpC,MAAM,gBAAgB,GAAG,CAAC,KAAoC,EAAE,EAAE;QAChE,MAAM,MAAM,GAAI,KAAK,CAAC,MAAsB,CAAC;QAC7C,0BAA0B;QAC1B,IAAI,MAAM,CAAC,EAAE,KAAK,oBAAoB,EAAE;YACtC,gBAAgB,CAAC,IAAI,CAAC,CAAC;SACxB;IACH,CAAC,CAAC;IAEF,OAAO,CACL;QACE,6BAAK,SAAS,EAAC,YAAY;YACzB,oBAAC,gBAAgB,IAAC,EAAE,EAAC,MAAM,GAAoB;YAC/C,6BAAK,SAAS,EAAC,WAAW;gBACxB,6BAAK,SAAS,EAAC,2BAA2B;oBACxC,6BAAK,SAAS,EAAC,iBAAiB;wBAC9B;;4BAAuF,+BAAK;;4BAAiG,+BAAK;8GAAmF,CACjR,CACF;gBACN,6BAAK,SAAS,EAAC,6BAA6B;oBAC1C,6BAAK,SAAS,EAAC,iBAAiB;wBAC9B,gCAAQ,IAAI,EAAC,QAAQ,EAAC,SAAS,EAAC,qBAAqB,EAAC,OAAO,EAAE,GAAG,EAAE,CAAC,gBAAgB,CAAC,KAAK,CAAC,oBAAiB,OAAO,oBAAiB,IAAI,oBAAoB,EAAE;4BAC7J,2BAAG,SAAS,EAAC,aAAa,GAAK;gDAE1B,CACH;oBACN,6BAAK,SAAS,EAAC,iBAAiB;wBAC9B,oBAAC,IAAI,IAAC,EAAE,EAAC,OAAO,EAAC,SAAS,EAAC,qBAAqB;4BAC9C,2BAAG,SAAS,EAAC,iBAAiB,GAAK;qDAEhC,CACD,CACF;gBACN,6BAAK,SAAS,EAAC,2BAA2B;oBACxC,6BAAK,SAAS,EAAC,KAAK;wBAClB,6BAAK,GAAG,EAAE,UAAU,EAAE,GAAG,EAAC,sCAAsC,GAAG,CAC/D,CACF,CACF,CACF;QACN,6BAAK,SAAS,EAAC,OAAO,EAAC,EAAE,EAAE,oBAAoB,EAAE,OAAO,EAAE,gBAAgB,qBAAkB,+BAA+B,iBAAa,MAAM;YAC5I,6BAAK,SAAS,EAAC,sCAAsC;gBACnD,6BAAK,SAAS,EAAC,eAAe;oBAC5B,6BAAK,SAAS,EAAC,cAAc;wBAC3B,6BAAK,SAAS,EAAC,gBAAgB,4BAA6B;wBAC5D,gCAAQ,IAAI,EAAC,QAAQ,EAAC,SAAS,EAAC,WAAW,EAAC,OAAO,EAAE,GAAG,EAAE,CAAC,gBAAgB,CAAC,IAAI,CAAC,qBAAkB,OAAO,gBAAY,OAAO,GACpH,CACL;oBACN,6BAAK,SAAS,EAAC,YAAY,IAExB,CAAC,aAAa,IAAI,gCAAQ,GAAG,EAAE,QAAQ,EAAE,KAAK,EAAC,MAAM,EAAC,MAAM,EAAC,KAAK,EAAC,GAAG,EAAC,oDAAoD,EAAC,WAAW,EAAC,GAAG,EAAC,KAAK,EAAC,0FAA0F,EAAC,eAAe,SAAU,CACnQ,CACF,CACF,CACF,CACL,CACJ,CAAC;AACJ,CAAC"} \ No newline at end of file diff --git a/dist/pages/components/CoralTeaserCards.d.ts b/dist/pages/components/CoralTeaserCards.d.ts deleted file mode 100644 index f79e88c..0000000 --- a/dist/pages/components/CoralTeaserCards.d.ts +++ /dev/null @@ -1,2 +0,0 @@ -/// -export declare function CoralTeaserCards(): JSX.Element; diff --git a/dist/pages/components/CoralTeaserCards.js b/dist/pages/components/CoralTeaserCards.js deleted file mode 100644 index 09f3446..0000000 --- a/dist/pages/components/CoralTeaserCards.js +++ /dev/null @@ -1,49 +0,0 @@ -import * as React from 'react'; -import { Link } from 'react-router-dom'; -export function CoralTeaserCards() { - return (React.createElement("div", { className: "coral-teaser-cards container" }, - React.createElement("div", { className: "row row-cols-1 row-cols-md-2 my-5" }, - React.createElement("div", { className: "col mb-4" }, - React.createElement("h4", { className: "text-center mb-3" }, - React.createElement("i", { className: "me-2 ordino-icon-2 fas fa-newspaper" }), - " What's new?"), - React.createElement("div", { className: "card shadow-sm h-100" }, - React.createElement("div", { className: "card-body" }, - React.createElement("p", { className: "card-text" }, "\uD83C\uDF89 It's the 2-year anniversary of Coral and we're happy to launch Coral v1.0! \uD83D\uDE80"), - React.createElement("p", { className: "card-text" }, - "This websites introduces Coral's ", - React.createElement(Link, { to: "/features" }, "features"), - ", the ", - React.createElement(Link, { to: "/datasets" }, "available datasets"), - ", and ", - React.createElement(Link, { to: "/publications" }, "publications"), - ". We also provide an ", - React.createElement(Link, { to: "/help" }, "introductory video"), - " to get to know Coral."), - React.createElement("p", { className: "card-text" }, "In the upcoming releases, we will focus improving the usability and interactions with Coral.")), - React.createElement("div", { className: "card-footer" }, - React.createElement(Link, { to: "/news", className: "btn btn-light" }, - React.createElement("i", { className: "me-1 fas fa-angle-right" }), - " Read the release notes")))), - React.createElement("div", { className: "col mb-4" }, - React.createElement("h4", { className: "text-center mb-3" }, - React.createElement("i", { className: "me-2 ordino-icon-2 fas fa-book-open" }), - " Publication"), - React.createElement("div", { className: "card shadow-sm h-100" }, - React.createElement("div", { className: "card-body" }, - React.createElement("p", { className: "card-text" }, "Coral and its components have been published in multiple scientific articles. Please cite the following article when using Coral and publishing your results."), - React.createElement("p", { className: "card-text text-muted" }, - "Patrick Adelberger, Klaus Eckelt, Markus J. Bauer, Marc Streit, Christian Haslinger, Thomas Zichner.", - React.createElement("br", null), - React.createElement("b", null, "Coral: a web-based visual analysis tool for creating and characterizing cohorts."), - React.createElement("br", null), - React.createElement("i", null, - "Bioinformatics, doi:", - React.createElement("a", { href: "https://academic.oup.com/bioinformatics/advance-article/doi/10.1093/bioinformatics/btab695/6384564?guestAccessKey=8b1777b2-4157-46ff-b5c2-0a69f1931cce", target: "_blank", rel: "noopener noreferrer" }, "10.1093/bioinformatics/btab695"), - ", 2021."))), - React.createElement("div", { className: "card-footer" }, - React.createElement(Link, { to: "/publications", className: "btn btn-light" }, - React.createElement("i", { className: "me-1 fas fa-angle-right" }), - " List of all publications"))))))); -} -//# sourceMappingURL=CoralTeaserCards.js.map \ No newline at end of file diff --git a/dist/pages/components/CoralTeaserCards.js.map b/dist/pages/components/CoralTeaserCards.js.map deleted file mode 100644 index f503e80..0000000 --- a/dist/pages/components/CoralTeaserCards.js.map +++ /dev/null @@ -1 +0,0 @@ -{"version":3,"file":"CoralTeaserCards.js","sourceRoot":"","sources":["../../../src/pages/components/CoralTeaserCards.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,KAAK,MAAM,OAAO,CAAC;AAC/B,OAAO,EAAC,IAAI,EAAC,MAAM,kBAAkB,CAAC;AAEtC,MAAM,UAAU,gBAAgB;IAC9B,OAAO,CACL,6BAAK,SAAS,EAAC,8BAA8B;QAC3C,6BAAK,SAAS,EAAC,mCAAmC;YAChD,6BAAK,SAAS,EAAC,UAAU;gBACvB,4BAAI,SAAS,EAAC,kBAAkB;oBAAC,2BAAG,SAAS,EAAC,qCAAqC,GAAK;mCAAiB;gBACzG,6BAAK,SAAS,EAAC,sBAAsB;oBACnC,6BAAK,SAAS,EAAC,WAAW;wBACxB,2BAAG,SAAS,EAAC,WAAW,2GAEpB;wBACJ,2BAAG,SAAS,EAAC,WAAW;;4BACW,oBAAC,IAAI,IAAC,EAAE,EAAC,WAAW,eAAgB;;4BAAM,oBAAC,IAAI,IAAC,EAAE,EAAC,WAAW,yBAA0B;;4BAAM,oBAAC,IAAI,IAAC,EAAE,EAAC,eAAe,mBAAoB;;4BACxJ,oBAAC,IAAI,IAAC,EAAE,EAAC,OAAO,yBAA0B;qDAC3D;wBACJ,2BAAG,SAAS,EAAC,WAAW,mGAEpB,CACA;oBACN,6BAAK,SAAS,EAAC,aAAa;wBAAC,oBAAC,IAAI,IAAC,EAAE,EAAC,OAAO,EAAC,SAAS,EAAC,eAAe;4BAAC,2BAAG,SAAS,EAAC,yBAAyB,GAAK;sDAA8B,CAAM,CACnJ,CACF;YACN,6BAAK,SAAS,EAAC,UAAU;gBACvB,4BAAI,SAAS,EAAC,kBAAkB;oBAAC,2BAAG,SAAS,EAAC,qCAAqC,GAAK;mCAAiB;gBACzG,6BAAK,SAAS,EAAC,sBAAsB;oBACnC,6BAAK,SAAS,EAAC,WAAW;wBACxB,2BAAG,SAAS,EAAC,WAAW,oKAEpB;wBACJ,2BAAG,SAAS,EAAC,sBAAsB;;4BACmE,+BAAM;4BAC1G,kHAAuF;4BAAA,+BAAM;4BAC7F;;gCAAuB,2BAAG,IAAI,EAAC,wJAAwJ,EAAC,MAAM,EAAC,QAAQ,EAAC,GAAG,EAAC,qBAAqB,qCAAmC;0CAAW,CAC7Q,CACA;oBACN,6BAAK,SAAS,EAAC,aAAa;wBAAC,oBAAC,IAAI,IAAC,EAAE,EAAC,eAAe,EAAC,SAAS,EAAC,eAAe;4BAAC,2BAAG,SAAS,EAAC,yBAAyB,GAAK;wDAAgC,CAAM,CAC7J,CACF,CACF,CACF,CACP,CAAC;AACJ,CAAC"} \ No newline at end of file diff --git a/dist/pages/components/DevelopedByAffiliations.d.ts b/dist/pages/components/DevelopedByAffiliations.d.ts deleted file mode 100644 index 136843a..0000000 --- a/dist/pages/components/DevelopedByAffiliations.d.ts +++ /dev/null @@ -1,2 +0,0 @@ -/// -export declare function DevelopedByAffiliations(): JSX.Element; diff --git a/dist/pages/components/DevelopedByAffiliations.js b/dist/pages/components/DevelopedByAffiliations.js deleted file mode 100644 index 5c3f79e..0000000 --- a/dist/pages/components/DevelopedByAffiliations.js +++ /dev/null @@ -1,21 +0,0 @@ -import * as React from 'react'; -import logoBI from '../../assets/logos/boehringer-ingelheim.svg'; -import logoLab from '../../assets/logos/jku-vds-lab-logo.png'; -import logoDatavisyn from '../../assets/logos/datavisyn.svg'; -export function DevelopedByAffiliations() { - return (React.createElement("section", { className: "container ordino-developed-by-affiliations py-5" }, - React.createElement("div", { className: "row" }, - React.createElement("div", { className: "col mb-3 text-center" }, - React.createElement("p", { className: "lead text-ordino-gray-3" }, "Coral is developed by"))), - React.createElement("div", { className: "row" }, - React.createElement("div", { className: "col text-center" }, - React.createElement("a", { href: "https://jku-vds-lab.at/", target: "_blank", rel: "noopener noreferrer" }, - React.createElement("img", { src: logoLab, alt: "JKU Visual Data Science Lab", style: { height: '45px' } }))), - React.createElement("div", { className: "col text-center" }, - React.createElement("a", { href: "https://www.boehringer-ingelheim.com", target: "_blank", rel: "noopener noreferrer" }, - React.createElement("img", { src: logoBI, alt: "Boehringer Ingelheim", style: { height: '45px' } }))), - React.createElement("div", { className: "col text-center" }, - React.createElement("a", { href: "https://www.datavisyn.io", target: "_blank", rel: "noopener noreferrer" }, - React.createElement("img", { src: logoDatavisyn, alt: "datavisyn", style: { height: '35px' } })))))); -} -//# sourceMappingURL=DevelopedByAffiliations.js.map \ No newline at end of file diff --git a/dist/pages/components/DevelopedByAffiliations.js.map b/dist/pages/components/DevelopedByAffiliations.js.map deleted file mode 100644 index 68cbdda..0000000 --- a/dist/pages/components/DevelopedByAffiliations.js.map +++ /dev/null @@ -1 +0,0 @@ -{"version":3,"file":"DevelopedByAffiliations.js","sourceRoot":"","sources":["../../../src/pages/components/DevelopedByAffiliations.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,KAAK,MAAM,OAAO,CAAC;AAC/B,OAAO,MAAM,MAAM,6CAA6C,CAAC;AACjE,OAAO,OAAO,MAAM,yCAAyC,CAAC;AAC9D,OAAO,aAAa,MAAM,kCAAkC,CAAC;AAE7D,MAAM,UAAU,uBAAuB;IACrC,OAAO,CACL,iCAAS,SAAS,EAAC,iDAAiD;QAClE,6BAAK,SAAS,EAAC,KAAK;YAClB,6BAAK,SAAS,EAAC,sBAAsB;gBACnC,2BAAG,SAAS,EAAC,yBAAyB,4BAA0B,CAC5D,CACF;QACN,6BAAK,SAAS,EAAC,KAAK;YAClB,6BAAK,SAAS,EAAC,iBAAiB;gBAC9B,2BAAG,IAAI,EAAC,yBAAyB,EAAC,MAAM,EAAC,QAAQ,EAAC,GAAG,EAAC,qBAAqB;oBAAC,6BAAK,GAAG,EAAE,OAAO,EAAE,GAAG,EAAC,6BAA6B,EAAC,KAAK,EAAE,EAAC,MAAM,EAAE,MAAM,EAAC,GAAI,CAAI,CAC5J;YACN,6BAAK,SAAS,EAAC,iBAAiB;gBAC9B,2BAAG,IAAI,EAAC,sCAAsC,EAAC,MAAM,EAAC,QAAQ,EAAC,GAAG,EAAC,qBAAqB;oBAAC,6BAAK,GAAG,EAAE,MAAM,EAAE,GAAG,EAAC,sBAAsB,EAAC,KAAK,EAAE,EAAC,MAAM,EAAE,MAAM,EAAC,GAAI,CAAI,CACjK;YACN,6BAAK,SAAS,EAAC,iBAAiB;gBAC9B,2BAAG,IAAI,EAAC,0BAA0B,EAAC,MAAM,EAAC,QAAQ,EAAC,GAAG,EAAC,qBAAqB;oBAAC,6BAAK,GAAG,EAAE,aAAa,EAAE,GAAG,EAAC,WAAW,EAAC,KAAK,EAAE,EAAC,MAAM,EAAE,MAAM,EAAC,GAAI,CAAI,CACjJ,CACF,CACE,CACX,CAAC;AACJ,CAAC"} \ No newline at end of file diff --git a/dist/pages/components/DisclaimerCard.d.ts b/dist/pages/components/DisclaimerCard.d.ts deleted file mode 100644 index 230dff2..0000000 --- a/dist/pages/components/DisclaimerCard.d.ts +++ /dev/null @@ -1,2 +0,0 @@ -/// -export declare function DisclaimerCard(): JSX.Element; diff --git a/dist/pages/components/DisclaimerCard.js b/dist/pages/components/DisclaimerCard.js deleted file mode 100644 index eadd8a3..0000000 --- a/dist/pages/components/DisclaimerCard.js +++ /dev/null @@ -1,9 +0,0 @@ -import * as React from 'react'; -export function DisclaimerCard() { - return (React.createElement("div", { className: "card shadow-sm p-2" }, - React.createElement("div", { className: "card-body" }, - React.createElement("p", { className: "card-text alert alert-warning text-center" }, - React.createElement("strong", null, "Disclaimer:"), - " This software is for research purposes and non-commercial use only.")))); -} -//# sourceMappingURL=DisclaimerCard.js.map \ No newline at end of file diff --git a/dist/pages/components/DisclaimerCard.js.map b/dist/pages/components/DisclaimerCard.js.map deleted file mode 100644 index a1a3361..0000000 --- a/dist/pages/components/DisclaimerCard.js.map +++ /dev/null @@ -1 +0,0 @@ -{"version":3,"file":"DisclaimerCard.js","sourceRoot":"","sources":["../../../src/pages/components/DisclaimerCard.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,KAAK,MAAM,OAAO,CAAC;AAE/B,MAAM,UAAU,cAAc;IAC1B,OAAO,CACH,6BAAK,SAAS,EAAC,oBAAoB;QAC/B,6BAAK,SAAS,EAAC,WAAW;YACtB,2BAAG,SAAS,EAAC,2CAA2C;gBAExD,kDAA4B;uFAExB,CACF,CACJ,CACT,CAAC;AACN,CAAC"} \ No newline at end of file diff --git a/dist/pages/components/FeatureCard.d.ts b/dist/pages/components/FeatureCard.d.ts deleted file mode 100644 index 5695d93..0000000 --- a/dist/pages/components/FeatureCard.d.ts +++ /dev/null @@ -1,18 +0,0 @@ -import * as React from 'react'; -interface IFeatureCardProps { - image?: { - file: string; - altText: string; - }; - title: string; - config: { - numbAttr: number; - attribute: string; - }; - /** - * Add card text as children - */ - children?: React.ReactNode; -} -export declare function FeatureCard({ image, title, config, children }: IFeatureCardProps): JSX.Element; -export {}; diff --git a/dist/pages/components/FeatureCard.js b/dist/pages/components/FeatureCard.js deleted file mode 100644 index 965a76e..0000000 --- a/dist/pages/components/FeatureCard.js +++ /dev/null @@ -1,23 +0,0 @@ -import * as React from 'react'; -export function FeatureCard({ image, title, config, children }) { - let htmlImage = ''; - // only assigning an image element, if image is not null - if (image) { - htmlImage = React.createElement("img", { className: "img-fluid mt-3 me-3 img-thumbnail position-absolute top-0 end-0", src: image.file, alt: image.altText }); - } - return (React.createElement("div", { className: "col mt-4" }, - React.createElement("div", { className: "card shadow-sm h-100" }, - React.createElement("div", { className: "card-body p-3" }, - React.createElement("h5", { className: "card-title mb-4" }, title), - React.createElement("p", null, - React.createElement("b", null, "Number of Attribtues:"), - " ", - config.numbAttr, - React.createElement("br", null), - React.createElement("b", null, "Type of Attribtues:"), - " ", - config.attribute), - htmlImage, - children)))); -} -//# sourceMappingURL=FeatureCard.js.map \ No newline at end of file diff --git a/dist/pages/components/FeatureCard.js.map b/dist/pages/components/FeatureCard.js.map deleted file mode 100644 index a91c412..0000000 --- a/dist/pages/components/FeatureCard.js.map +++ /dev/null @@ -1 +0,0 @@ -{"version":3,"file":"FeatureCard.js","sourceRoot":"","sources":["../../../src/pages/components/FeatureCard.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,KAAK,MAAM,OAAO,CAAC;AAkB/B,MAAM,UAAU,WAAW,CAAC,EAAC,KAAK,EAAE,KAAK,EAAE,MAAM,EAAE,QAAQ,EAAoB;IAC3E,IAAI,SAAS,GAAoB,EAAE,CAAC;IACpC,wDAAwD;IACxD,IAAG,KAAK,EAAE;QACN,SAAS,GAAG,6BAAK,SAAS,EAAC,iEAAiE,EAAC,GAAG,EAAE,KAAK,CAAC,IAAI,EAAE,GAAG,EAAE,KAAK,CAAC,OAAO,GAAI,CAAC;KACxI;IACD,OAAO,CACH,6BAAK,SAAS,EAAC,UAAU;QACrB,6BAAK,SAAS,EAAC,sBAAsB;YACjC,6BAAK,SAAS,EAAC,eAAe;gBAC1B,4BAAI,SAAS,EAAC,iBAAiB,IAAE,KAAK,CAAM;gBAC5C;oBACI,uDAA4B;;oBAAE,MAAM,CAAC,QAAQ;oBAC7C,+BAAM;oBACN,qDAA0B;;oBAAE,MAAM,CAAC,SAAS,CAC5C;gBACH,SAAS;gBACT,QAAQ,CACP,CACJ,CACJ,CACT,CAAC;AACN,CAAC"} \ No newline at end of file diff --git a/dist/pages/components/GettingStarted.d.ts b/dist/pages/components/GettingStarted.d.ts deleted file mode 100644 index f840878..0000000 --- a/dist/pages/components/GettingStarted.d.ts +++ /dev/null @@ -1,2 +0,0 @@ -/// -export declare function GettingStarted(): JSX.Element; diff --git a/dist/pages/components/GettingStarted.js b/dist/pages/components/GettingStarted.js deleted file mode 100644 index ff5ef06..0000000 --- a/dist/pages/components/GettingStarted.js +++ /dev/null @@ -1,30 +0,0 @@ -import * as React from 'react'; -export function GettingStarted() { - return (React.createElement("section", { className: "container ordino-getting-started py-5" }, - React.createElement("div", { className: "row" }, - React.createElement("div", { className: "col position-relative text-center" }, - React.createElement("h1", null, "Getting Started"), - React.createElement("h5", null, - React.createElement("p", null, "The workflow of Coral consists of two steps: creating cohorts, and characterizing them. Operations from these two categories are carried out in an iterative workflow.")))), - React.createElement("ul", { className: "row mx-0 mt-5 p-0 list-unstyled" }, - React.createElement("li", { className: "col col-lg mb-sm-5 mb-lg-0 text-center" }, - React.createElement("h2", null, "Cohort Creation"), - React.createElement("p", null, - "An initial cohort that contains all items of the selected dataset is created automatically. Creation operations allow users to create new sub-cohorts based on different attributes and attribute combinations. Cohorts are refined with the ", - React.createElement("i", null, "Filter"), - " operation, or divided into multiple cohorts with the ", - React.createElement("i", null, "Split"), - " operation.")), - React.createElement("li", { className: "col col-lg mb-sm-5 mb-lg-0 text-center" }, - React.createElement("h2", null, "Cohort Characterization"), - React.createElement("p", null, - "Characterization operations give insights into the cohorts. Similarities and differences between cohorts can be checked visually with the ", - React.createElement("i", null, "View"), - " operation, and statistically with the ", - React.createElement("i", null, "Compare"), - " operation. Additional operations give access to prevalence information and the data of individual items."))), - React.createElement("div", { className: "row" }, - React.createElement("div", { className: "col position-relative text-center" }, - React.createElement("a", { href: "/app/", className: "btn btn-outline-secondary btn-lg" }, "Start Analysis"))))); -} -//# sourceMappingURL=GettingStarted.js.map \ No newline at end of file diff --git a/dist/pages/components/GettingStarted.js.map b/dist/pages/components/GettingStarted.js.map deleted file mode 100644 index 9f37273..0000000 --- a/dist/pages/components/GettingStarted.js.map +++ /dev/null @@ -1 +0,0 @@ -{"version":3,"file":"GettingStarted.js","sourceRoot":"","sources":["../../../src/pages/components/GettingStarted.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,KAAK,MAAM,OAAO,CAAC;AAE/B,MAAM,UAAU,cAAc;IAC5B,OAAO,CACL,iCAAS,SAAS,EAAC,uCAAuC;QACxD,6BAAK,SAAS,EAAC,KAAK;YAClB,6BAAK,SAAS,EAAC,mCAAmC;gBAChD,kDAAwB;gBACxB;oBACA,wMAGI,CACC,CACD,CACF;QACN,4BAAI,SAAS,EAAC,iCAAiC;YAC7C,4BAAI,SAAS,EAAC,wCAAwC;gBACpD,kDAAwB;gBACxB;;oBAG+B,wCAAa;;oBAAsD,uCAAY;kCAC1G,CACD;YACL,4BAAI,SAAS,EAAC,wCAAwC;gBACpD,0DAAgC;gBAChC;;oBAEgF,sCAAW;;oBAAuC,yCAAc;gIAE5I,CACD,CAYF;QACL,6BAAK,SAAS,EAAC,KAAK;YAClB,6BAAK,SAAS,EAAC,mCAAmC;gBAChD,2BAAG,IAAI,EAAC,OAAO,EAAC,SAAS,EAAC,kCAAkC,qBAAmB,CAC3E,CACF,CACE,CACX,CAAC;AACJ,CAAC"} \ No newline at end of file diff --git a/dist/pages/components/SourceCodeCard.d.ts b/dist/pages/components/SourceCodeCard.d.ts deleted file mode 100644 index a94ed18..0000000 --- a/dist/pages/components/SourceCodeCard.d.ts +++ /dev/null @@ -1,2 +0,0 @@ -/// -export declare function SourceCodeCard(): JSX.Element; diff --git a/dist/pages/components/SourceCodeCard.js b/dist/pages/components/SourceCodeCard.js deleted file mode 100644 index 22a1382..0000000 --- a/dist/pages/components/SourceCodeCard.js +++ /dev/null @@ -1,20 +0,0 @@ -import { useAsync } from 'tdp_core'; -import { AppMetaDataUtils } from 'tdp_core'; -import React from 'react'; -export function SourceCodeCard() { - const loadMetaData = React.useMemo(() => () => AppMetaDataUtils.getMetaData(), []); - const { status, value } = useAsync(loadMetaData); - return (React.createElement(React.Fragment, null, - React.createElement("div", { className: "card shadow-sm p-2" }, - React.createElement("div", { className: "card-body" }, - React.createElement("p", { className: "card-text" }, - "The source code of Coral is released at ", - React.createElement("a", { href: "https://github.com/Caleydo/Coral", target: "_blank", rel: "noopener" }, "GitHub"), - "."), - React.createElement("p", { className: "card-text" }, "This application is part of Phovea, a platform for developing web-based visualization applications. For tutorials, API docs, and more information about the build and deployment process, see the documentation page."), - React.createElement("p", { className: "card-text" }, - React.createElement("b", null, "Version: "), - " ", - (status === 'success') ? value.version : 'Fetching current version ...'))))); -} -//# sourceMappingURL=SourceCodeCard.js.map \ No newline at end of file diff --git a/dist/pages/components/SourceCodeCard.js.map b/dist/pages/components/SourceCodeCard.js.map deleted file mode 100644 index 388813b..0000000 --- a/dist/pages/components/SourceCodeCard.js.map +++ /dev/null @@ -1 +0,0 @@ -{"version":3,"file":"SourceCodeCard.js","sourceRoot":"","sources":["../../../src/pages/components/SourceCodeCard.tsx"],"names":[],"mappings":"AAAA,OAAO,EAAC,QAAQ,EAAC,MAAM,UAAU,CAAC;AAClC,OAAO,EAAC,gBAAgB,EAAC,MAAM,UAAU,CAAC;AAC1C,OAAO,KAAK,MAAM,OAAO,CAAC;AAE1B,MAAM,UAAU,cAAc;IAC5B,MAAM,YAAY,GAAG,KAAK,CAAC,OAAO,CAAC,GAAG,EAAE,CAAC,GAAG,EAAE,CAAC,gBAAgB,CAAC,WAAW,EAAE,EAAE,EAAE,CAAC,CAAC;IACnF,MAAM,EAAC,MAAM,EAAE,KAAK,EAAC,GAAG,QAAQ,CAAC,YAAY,CAAC,CAAC;IAE/C,OAAO,CACL;QACE,6BAAK,SAAS,EAAC,oBAAoB;YACjC,6BAAK,SAAS,EAAC,WAAW;gBACxB,2BAAG,SAAS,EAAC,WAAW;;oBACkB,2BAAG,IAAI,EAAC,kCAAkC,EAAC,MAAM,EAAC,QAAQ,EAAC,GAAG,EAAC,UAAU,aAAW;wBAC1H;gBACJ,2BAAG,SAAS,EAAC,WAAW,4NAKpB;gBACJ,2BAAG,SAAS,EAAC,WAAW;oBAAC,2CAAgB;;oBAAE,CAAC,MAAM,KAAK,SAAS,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,8BAA8B,CAAK,CACnH,CACF,CACL,CACJ,CAAC;AACJ,CAAC"} \ No newline at end of file diff --git a/dist/pages/components/TermsOfUseCard.d.ts b/dist/pages/components/TermsOfUseCard.d.ts deleted file mode 100644 index 602a986..0000000 --- a/dist/pages/components/TermsOfUseCard.d.ts +++ /dev/null @@ -1,2 +0,0 @@ -/// -export declare function TermsOfUseCard(): JSX.Element; diff --git a/dist/pages/components/TermsOfUseCard.js b/dist/pages/components/TermsOfUseCard.js deleted file mode 100644 index cdf8871..0000000 --- a/dist/pages/components/TermsOfUseCard.js +++ /dev/null @@ -1,18 +0,0 @@ -import React from 'react'; -export function TermsOfUseCard() { - return (React.createElement("div", { className: "shadow-sm card p-2" }, - React.createElement("div", { className: "card-body" }, - React.createElement("div", { className: "list-group list-group-flush" }, - React.createElement("div", { className: "list-group-item" }, "This instance of Coral is intended for scientific research and non-commercial use only."), - React.createElement("div", { className: "list-group-item" }, "Coral cannot be used for the provision of medical advice."), - React.createElement("div", { className: "list-group-item" }, "We expect attribution (e.g. in publications, services or products) for any of Coral's online services, databases or software in accordance with good scientific practice."), - React.createElement("div", { className: "list-group-item" }, "Coral provides data collated from the public domain with references to their sources. We cannot guarantee the accuracy of any data or databases nor their suitability for user purposes."), - React.createElement("div", { className: "list-group-item" }, "The original data in Coral may be subject to rights claimed by third parties, including but not limited to, patent, copyright, other intellectual property rights, biodiversity-related access and benefit-sharing rights. It is the responsibility of users of Coral to ensure that their exploitation of the data does not infringe any of the rights of such third parties."), - React.createElement("div", { className: "list-group-item" }, "We are not liable to you or third parties claiming through you, for any loss or damage."), - React.createElement("div", { className: "list-group-item" }, "We do not accept responsibility for the consequences of any breach of the confidentiality of the Coral Site by third parties."), - React.createElement("div", { className: "list-group-item" }, "We accept no responsibility for the consequences of any temporary or permanent discontinuity in service of this Site."), - React.createElement("div", { className: "list-group-item" }, "Users of Coral agree not to attempt to use any Coral computers, files or networks apart from through the service interfaces provided."), - React.createElement("div", { className: "list-group-item" }, "Any attempt to use Coral to a level that prevents, or looks likely to prevent, Coral providing services to others, will result in the use being blocked."), - React.createElement("div", { className: "list-group-item" }, "Any feedback on Coral will be treated as non-confidential unless the individual or organization providing the feedback states otherwise."))))); -} -//# sourceMappingURL=TermsOfUseCard.js.map \ No newline at end of file diff --git a/dist/pages/components/TermsOfUseCard.js.map b/dist/pages/components/TermsOfUseCard.js.map deleted file mode 100644 index eb1cf35..0000000 --- a/dist/pages/components/TermsOfUseCard.js.map +++ /dev/null @@ -1 +0,0 @@ -{"version":3,"file":"TermsOfUseCard.js","sourceRoot":"","sources":["../../../src/pages/components/TermsOfUseCard.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,MAAM,OAAO,CAAC;AAE1B,MAAM,UAAU,cAAc;IAC5B,OAAO,CACL,6BAAK,SAAS,EAAC,oBAAoB;QACjC,6BAAK,SAAS,EAAC,WAAW;YACxB,6BAAK,SAAS,EAAC,6BAA6B;gBAC1C,6BAAK,SAAS,EAAC,iBAAiB,8FAG5B;gBACJ,6BAAK,SAAS,EAAC,iBAAiB,gEAE5B;gBACJ,6BAAK,SAAS,EAAC,iBAAiB,gLAI5B;gBACJ,6BAAK,SAAS,EAAC,iBAAiB,+LAI5B;gBACJ,6BAAK,SAAS,EAAC,iBAAiB,qXAO5B;gBACJ,6BAAK,SAAS,EAAC,iBAAiB,8FAG5B;gBACJ,6BAAK,SAAS,EAAC,iBAAiB,oIAG5B;gBACJ,6BAAK,SAAS,EAAC,iBAAiB,4HAG5B;gBACJ,6BAAK,SAAS,EAAC,iBAAiB,4IAI5B;gBACJ,6BAAK,SAAS,EAAC,iBAAiB,+JAI5B;gBACJ,6BAAK,SAAS,EAAC,iBAAiB,+IAI5B,CACA,CACF,CACF,CACP,CAAC;AACJ,CAAC"} \ No newline at end of file diff --git a/dist/pages/components/VideoCard.d.ts b/dist/pages/components/VideoCard.d.ts deleted file mode 100644 index d9817af..0000000 --- a/dist/pages/components/VideoCard.d.ts +++ /dev/null @@ -1,5 +0,0 @@ -/// -export interface IVideoCardProps { - openInNewWindow?: boolean; -} -export declare function VideoCard({ openInNewWindow }: IVideoCardProps): JSX.Element; diff --git a/dist/pages/components/VideoCard.js b/dist/pages/components/VideoCard.js deleted file mode 100644 index fe21e77..0000000 --- a/dist/pages/components/VideoCard.js +++ /dev/null @@ -1,71 +0,0 @@ -import * as React from 'react'; -import { Link } from 'react-router-dom'; -export function VideoCard({ openInNewWindow }) { - const newWindowProps = openInNewWindow ? { - target: '_blank', - rel: 'noopener noreferrer' - } : {}; - return (React.createElement("div", { style: { overflow: 'hidden' }, className: "card p-2 shadow-sm coral-video-card" }, - React.createElement("div", { className: "card-body" }, - React.createElement("p", { className: "card-text lead" }, - "Coral is a cohort analysis tool to interactively create and refine patient cohorts, while visualizing their provenance in the Cohort Evolution Graph. ", - React.createElement("br", null), - "The resulting cohorts can then be compared, characterized, and inspected down to the level of single entities."), - React.createElement("iframe", { className: "w-100 pt-2 pb-1", src: "https://www.youtube-nocookie.com/embed/vSd3a9J63wQ?autoplay=0", frameBorder: "0", allow: "accelerometer; autoplay; clipboard-write; encrypted-media; gyroscope; picture-in-picture", allowFullScreen: true }), - React.createElement("h5", { className: "card-title mt-4" }, - React.createElement("i", { className: "me-2 fas fa-check" }), - "Workflow and Features"), - React.createElement("p", { className: "card-text" }, - "The workflow of Coral consists of two steps: creating cohorts, and characterizing them. Operations from these two categories are carried out in an iterative workflow.", - React.createElement("br", null), - React.createElement("i", null, "Creation operations"), - " allow users to create new sub-cohorts based on different attributes and attribute combinations.", - React.createElement("i", null, "Characterization operations"), - " give insights into the cohorts."), - React.createElement("p", { className: "card-text" }, - "You can find more details on Coral's workflow and features in the ", - React.createElement(Link, { className: "card-link", to: "/features" }, "Features"), - " section."), - React.createElement("h5", { className: "card-title mt-4" }, - React.createElement("i", { className: "me-2 fas fa-database" }), - "Datasets"), - React.createElement("p", { className: "card-text" }, "Coral's database contains metadata as well as mutation data from the AACR Project GENIE, mRNA expression, DNA copy number, and mutation data from The Cancer Genome Atlas (TCGA) and the Cell Line Encyclopedia (CCLE). Furthermore, two CRISPR / RNAi loss-of-function screen data sets (DRIVE and Avana) are included."), - React.createElement("p", { className: "card-text" }, - "You can find more detailed information about the datasets ", - React.createElement(Link, Object.assign({}, newWindowProps, { className: "card-link", to: "/datasets" }), "here"), - "."), - React.createElement("h5", { className: "card-title mt-4" }, - React.createElement("i", { className: "me-2 fas fa-book-open" }), - "Publications"), - React.createElement("p", { className: "card-text" }, "Coral and its components have been described in the following scientific publications."), - React.createElement("p", { className: "card-text text-muted" }, - "Patrick Adelberger, Klaus Eckelt, Markus J. Bauer, Marc Streit, Christian Haslinger, Thomas Zichner.", - React.createElement("br", null), - React.createElement("b", null, "Coral: a web-based visual analysis tool for creating and characterizing cohorts."), - React.createElement("br", null), - React.createElement("i", null, " Bioinformatics, doi:10.1093/bioinformatics/btab695, 2021.")), - React.createElement("p", { className: "card-text text-muted" }, - "Marc Streit, Samuel Gratzl, Holger Stitz, Andreas Wernitznig, Thomas Zichner, Christian Haslinger.", - React.createElement("br", null), - React.createElement("b", null, "Ordino: visual analysis tool for ranking and exploring genes, cell lines, and tissue samples."), - React.createElement("br", null), - React.createElement("i", null, " Bioinformatics, 35(17): 3140-3142, 2019.")), - React.createElement("p", { className: "card-text text-muted" }, - "Klaus Eckelt, Patrick Adelberger, Thomas Zichner, Andreas Wernitznig, Marc Streit.", - React.createElement("br", null), - React.createElement("b", null, "TourDino: A Support View for Confirming Patterns in Tabular Data."), - React.createElement("br", null), - React.createElement("i", null, "EuroVis Workshop on Visual Analytics (EuroVA '19), 2019.")), - React.createElement("p", { className: "card-text text-muted" }, - "Katarina Furmanova, Samuel Gratzl, Holger Stitz, Thomas Zichner, Miroslava Jaresova, Martin Ennemoser, Alexander Lex, Marc Streit.", - React.createElement("br", null), - React.createElement("b", null, "Taggle: Combining Overview and Details in Tabular Data Visualizations."), - React.createElement("br", null), - React.createElement("i", null, "Information Visualization, 19(2): 114-136, 2019.")), - React.createElement("p", { className: "card-text" }, "Please cite the first article when using Coral and publishing your results."), - React.createElement("p", { className: "card-text" }, - "You can find more information about the publications ", - React.createElement(Link, Object.assign({}, newWindowProps, { className: "card-link", to: "/publications" }), "here"), - ".")))); -} -//# sourceMappingURL=VideoCard.js.map \ No newline at end of file diff --git a/dist/pages/components/VideoCard.js.map b/dist/pages/components/VideoCard.js.map deleted file mode 100644 index 0270771..0000000 --- a/dist/pages/components/VideoCard.js.map +++ /dev/null @@ -1 +0,0 @@ -{"version":3,"file":"VideoCard.js","sourceRoot":"","sources":["../../../src/pages/components/VideoCard.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,KAAK,MAAM,OAAO,CAAC;AAC/B,OAAO,EAAC,IAAI,EAAC,MAAM,kBAAkB,CAAC;AAMtC,MAAM,UAAU,SAAS,CAAC,EAAC,eAAe,EAAkB;IAE1D,MAAM,cAAc,GAAG,eAAe,CAAC,CAAC,CAAC;QACvC,MAAM,EAAE,QAAQ;QAChB,GAAG,EAAE,qBAAqB;KAC3B,CAAC,CAAC,CAAC,EAAE,CAAC;IAEP,OAAO,CACL,6BAAK,KAAK,EAAE,EAAC,QAAQ,EAAE,QAAQ,EAAC,EAAE,SAAS,EAAC,qCAAqC;QAE/E,6BAAK,SAAS,EAAC,WAAW;YACxB,2BAAG,SAAS,EAAC,gBAAgB;;gBAEuC,+BAAM;iIAEtE;YACJ,gCAAQ,SAAS,EAAC,iBAAiB,EAAC,GAAG,EAAC,+DAA+D,EAAC,WAAW,EAAC,GAAG,EAAC,KAAK,EAAC,0FAA0F,EAAC,eAAe,SAAU;YAElP,4BAAI,SAAS,EAAC,iBAAiB;gBAC7B,2BAAG,SAAS,EAAC,mBAAmB,GAAK;wCAClC;YACL,2BAAG,SAAS,EAAC,WAAW;;gBAEwD,+BAAM;gBACpF,qDAA0B;;gBAC1B,6DAAkC;mDAChC;YACJ,2BAAG,SAAS,EAAC,WAAW;;gBAC4C,oBAAC,IAAI,IAAC,SAAS,EAAC,WAAW,EAAC,EAAE,EAAC,WAAW,eAAgB;4BAC1H;YAEJ,4BAAI,SAAS,EAAC,iBAAiB;gBAC7B,2BAAG,SAAS,EAAC,sBAAsB,GAAK;2BACrC;YACL,2BAAG,SAAS,EAAC,WAAW,gUAIpB;YACJ,2BAAG,SAAS,EAAC,WAAW;;gBACoC,oBAAC,IAAI,oBAAK,cAAc,IAAE,SAAS,EAAC,WAAW,EAAC,EAAE,EAAC,WAAW,YAAY;oBAClI;YAEJ,4BAAI,SAAS,EAAC,iBAAiB;gBAC7B,2BAAG,SAAS,EAAC,uBAAuB,GAAK;+BACtC;YACL,2BAAG,SAAS,EAAC,WAAW,6FAEpB;YACJ,2BAAG,SAAS,EAAC,sBAAsB;;gBACmE,+BAAM;gBAC1G,kHAAuF;gBAAA,+BAAM;gBAC7F,4FAAiE,CAC/D;YACJ,2BAAG,SAAS,EAAC,sBAAsB;;gBACiE,+BAAM;gBACxG,+HAAoG;gBAAA,+BAAM;gBAC1G,2EAAgD,CAC9C;YACJ,2BAAG,SAAS,EAAC,sBAAsB;;gBACiD,+BAAM;gBACxF,mGAAwE;gBAAA,+BAAM;gBAC9E,0FAA+D,CAC7D;YACJ,2BAAG,SAAS,EAAC,sBAAsB;;gBACiG,+BAAM;gBACxI,wGAA6E;gBAAA,+BAAM;gBACnF,kFAAuD,CACrD;YACJ,2BAAG,SAAS,EAAC,WAAW,kFAEpB;YACJ,2BAAG,SAAS,EAAC,WAAW;;gBAC+B,oBAAC,IAAI,oBAAK,cAAc,IAAE,SAAS,EAAC,WAAW,EAAC,EAAE,EAAC,eAAe,YAAY;oBACjI,CACA,CACF,CACP,CAAC;AACJ,CAAC"} \ No newline at end of file diff --git a/dist/pages/components/index.d.ts b/dist/pages/components/index.d.ts deleted file mode 100644 index b22ef5e..0000000 --- a/dist/pages/components/index.d.ts +++ /dev/null @@ -1,7 +0,0 @@ -export * from './DevelopedByAffiliations'; -export * from './DisclaimerCard'; -export * from './GettingStarted'; -export * from './CoralContactForm'; -export * from './CoralHelpSection'; -export * from './CoralTeaserCards'; -export * from './CoralHero'; diff --git a/dist/pages/components/index.js b/dist/pages/components/index.js deleted file mode 100644 index 95107f9..0000000 --- a/dist/pages/components/index.js +++ /dev/null @@ -1,8 +0,0 @@ -export * from './DevelopedByAffiliations'; -export * from './DisclaimerCard'; -export * from './GettingStarted'; -export * from './CoralContactForm'; -export * from './CoralHelpSection'; -export * from './CoralTeaserCards'; -export * from './CoralHero'; -//# sourceMappingURL=index.js.map \ No newline at end of file diff --git a/dist/pages/components/index.js.map b/dist/pages/components/index.js.map deleted file mode 100644 index 2e75ab1..0000000 --- a/dist/pages/components/index.js.map +++ /dev/null @@ -1 +0,0 @@ -{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/pages/components/index.ts"],"names":[],"mappings":"AAAA,cAAc,2BAA2B,CAAC;AAC1C,cAAc,kBAAkB,CAAC;AACjC,cAAc,kBAAkB,CAAC;AACjC,cAAc,oBAAoB,CAAC;AACnC,cAAc,oBAAoB,CAAC;AACnC,cAAc,oBAAoB,CAAC;AACnC,cAAc,aAAa,CAAC"} \ No newline at end of file diff --git a/dist/pages/index.d.ts b/dist/pages/index.d.ts deleted file mode 100644 index 5e5fd0f..0000000 --- a/dist/pages/index.d.ts +++ /dev/null @@ -1,7 +0,0 @@ -export * from './DatasetsPage'; -export * from './FeaturesPage'; -export * from './Error404Page'; -export * from './HelpPage'; -export * from './HomePage'; -export * from './NewsPage'; -export * from './PublicationPage'; diff --git a/dist/pages/index.js b/dist/pages/index.js deleted file mode 100644 index fe0e760..0000000 --- a/dist/pages/index.js +++ /dev/null @@ -1,8 +0,0 @@ -export * from './DatasetsPage'; -export * from './FeaturesPage'; -export * from './Error404Page'; -export * from './HelpPage'; -export * from './HomePage'; -export * from './NewsPage'; -export * from './PublicationPage'; -//# sourceMappingURL=index.js.map \ No newline at end of file diff --git a/dist/pages/index.js.map b/dist/pages/index.js.map deleted file mode 100644 index 034d635..0000000 --- a/dist/pages/index.js.map +++ /dev/null @@ -1 +0,0 @@ -{"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/pages/index.ts"],"names":[],"mappings":"AAAA,cAAc,gBAAgB,CAAC;AAC/B,cAAc,gBAAgB,CAAC;AAC/B,cAAc,gBAAgB,CAAC;AAC/B,cAAc,YAAY,CAAC;AAC3B,cAAc,YAAY,CAAC;AAC3B,cAAc,YAAY,CAAC;AAC3B,cAAc,mBAAmB,CAAC"} \ No newline at end of file diff --git a/dist/phovea.js b/dist/phovea.js index b74f722..12f4b30 100644 --- a/dist/phovea.js +++ b/dist/phovea.js @@ -1,14 +1,4 @@ -/* ***************************************************************************** - * Caleydo - Visualization for Molecular Biology - http://caleydo.org - * Copyright (c) The Caleydo Team. All rights reserved. - * Licensed under the new BSD license, available at http://caleydo.org/license - **************************************************************************** */ -import { PluginRegistry } from 'tdp_core'; -import { EP_ORDINO_HEADER_MENU, EP_ORDINO_FOOTER_MENU, EP_ORDINO_START_MENU_TAB, EP_ORDINO_LOGO, EStartMenuSection, EP_ORDINO_START_MENU_TAB_SHORTCUT } from 'ordino'; -import { EXTENSION_POINT_CUSTOMIZED_LOGIN_FORM } from 'tdp_core'; export default function (registry) { - // Coral's custom login form - registry.push(EXTENSION_POINT_CUSTOMIZED_LOGIN_FORM, 'tdpBioinfoLoginForm', () => import('./LoginDialog'), {}); // helper functions copied from tdp_core: // ------------------------------------------------------------------------------------------------------- function actionFunction(id, factory, loader, options) { @@ -51,110 +41,5 @@ export default function (registry) { action: 'removeOverviewCohortAction' // --> function to create an action in the prov tree } }); - // Welcome Page: - // ------------------------------------------------------------------------------------------------------- - registry.push(EP_ORDINO_START_MENU_TAB, 'ordino_dataset_tab', () => import('ordino/dist/internal/menu/tabs/DatasetsTab'), { - text: 'Datasets', - menu: EStartMenuSection.MAIN, - priority: 10 - }); - registry.push(EP_ORDINO_START_MENU_TAB, 'ordino_sessions_tab', () => import('ordino/dist/internal/menu/tabs/SessionsTab'), { - text: 'Analysis Sessions', - menu: EStartMenuSection.MAIN, - priority: 20 - }); - registry.push(EP_ORDINO_START_MENU_TAB_SHORTCUT, 'ordino_sessions_shortcut', () => ({}), { - text: 'Current Analysis Session', - icon: 'fas fa-history', - tabId: 'ordino_sessions_tab', - setHighlight: true, - priority: 10, - }); - registry.push(EP_ORDINO_START_MENU_TAB, 'ordino_help_tab', () => import('./menu/HelpTab'), { - icon: 'fas fa-question-circle fa-fw', - menu: EStartMenuSection.RIGHT, - }); - registry.push(EP_ORDINO_HEADER_MENU, 'ordino_header_menu', () => ({}), { - links: [ - { - faIcon: 'fas fa-newspaper fa-fw', - text: 'What\'s new?', - page: '/news' - }, - { - faIcon: 'fas fa-list fa-fw', - text: 'Features', - page: '/features' - }, - { - faIcon: 'fas fa-database fa-fw', - text: 'Datasets', - page: '/datasets' - }, - { - faIcon: 'fas fa-question-circle fa-fw', - text: 'Help', - page: '/help' - } - ] - }); - registry.push(EP_ORDINO_FOOTER_MENU, 'ordino_footer_menu', () => ({}), { - lists: [ - [ - { - page: '/news', - faIcon: 'fas fa-fw fa-newspaper', - text: `What's new?`, - }, - { - page: '/features', - faIcon: 'fas fa-fw fa-list', - text: `Features`, - }, - { - page: '/datasets', - faIcon: 'fas fa-fw fa-database', - text: `Loaded datasets`, - }, - { - page: '/publications', - faIcon: 'fas fa-fw fa-book-open', - text: `Publications`, - } - ], - [ - { - page: '/help/coral-at-a-glance', - faIcon: 'fas fa-fw fa-eye', - text: `Coral at a Glance`, - }, - { - page: '/help/contact-us', - faIcon: 'fas fa-fw fa-at', - text: `Contact us`, - }, - { - page: '/help/disclaimer', - faIcon: 'fas fa-fw fa-exclamation-triangle', - text: `Disclaimer`, - }, - { - page: '/help/terms-of-use', - faIcon: 'fas fa-fw fa-user-tie', - text: `Terms of use`, - }, - { - page: '/help/source-code-licenses', - faIcon: 'fas fa-fw fa-code', - text: `Source code & licenses`, - }, - ] - ] - }); - registry.push(EP_ORDINO_LOGO, 'coral_logo', () => import('coral/dist/assets/favicon.svg').then(PluginRegistry.getInstance().asResource), { - text: 'Coral', - width: 24, - height: 24 - }); } //# sourceMappingURL=phovea.js.map \ No newline at end of file diff --git a/dist/phovea.js.map b/dist/phovea.js.map index 1356d89..1dbb1cc 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":"AAOA,MAAM,CAAC,OAAO,WAAW,QAAmB;IAE1C,yCAAyC;IACzC,0GAA0G;IAC1G,SAAS,cAAc,CAAC,EAAU,EAAE,OAAe,EAAE,MAAiB,EAAE,OAAY;QAClF,QAAQ,CAAC,IAAI,CAAC,gBAAgB,EAAE,EAAE,EAAE,MAAM,EAAE,EAAC,OAAO,EAAE,GAAG,OAAO,EAAC,CAAC,CAAC;IACrE,CAAC;IAED,uCAAuC;IACvC,4CAA4C;IAC5C,uGAAuG;IACvG,SAAS,gBAAgB,CAAC,EAAU,EAAE,OAAe,EAAE,OAAe,EAAE,MAAiB;QACvF,QAAQ,CAAC,IAAI,CAAC,kBAAkB,EAAE,EAAE,EAAE,MAAM,EAAE,EAAC,OAAO,EAAE,OAAO,EAAC,CAAC,CAAC;IACpE,CAAC;IAED,2BAA2B;IAC3B,0GAA0G;IAE1G;;OAEG;IACH,cAAc,CAAC,eAAe,EAAE,gBAAgB,EAAE,GAAG,EAAE,CAAC,MAAM,CAAC,sBAAsB,CAAC,EAAE;QACtF,SAAS,EAAE;YACT,QAAQ,EAAE,MAAM;YAChB,MAAM,EAAE,kBAAkB,CAAC,oDAAoD;SAChF;KACF,CAAC,CAAC;IAEH,4EAA4E;IAC5E,uIAAuI;IAEvI;;OAEG;IACH,cAAc,CAAC,YAAY,EAAE,uBAAuB,EAAE,GAAG,EAAE,CAAC,MAAM,CAAC,uBAAuB,CAAC,CAAC,IAAI,EAAE,EAAE;QAClG,SAAS,EAAE;YACT,QAAQ,EAAE,MAAM;YAChB,MAAM,EAAE,yBAAyB,CAAC,oDAAoD;SACvF;KACF,CAAC,CAAC;IAEH;;OAEG;IACH,cAAc,CAAC,eAAe,EAAE,0BAA0B,EAAE,GAAG,EAAE,CAAC,MAAM,CAAC,uBAAuB,CAAC,CAAC,IAAI,EAAE,EAAE;QACxG,SAAS,EAAE;YACT,QAAQ,EAAE,MAAM;YAChB,MAAM,EAAE,4BAA4B,CAAC,oDAAoD;SAC1F;KACF,CAAC,CAAC;AACL,CAAC"} \ No newline at end of file diff --git a/dist/scss/main.scss b/dist/scss/main.scss index 3274ff5..a2c378f 100644 --- a/dist/scss/main.scss +++ b/dist/scss/main.scss @@ -5,8 +5,6 @@ @import './base/base'; @import './vendors/tippy'; - -@import './pages/main.scss'; @import './components/StartMenu.scss'; @import './components/taskview'; diff --git a/dist/scss/pages/FeaturesPage.scss b/dist/scss/pages/FeaturesPage.scss deleted file mode 100644 index c613db9..0000000 --- a/dist/scss/pages/FeaturesPage.scss +++ /dev/null @@ -1,115 +0,0 @@ -.workflow-carousel { - .carousel.carousel-fade { - opacity: 1; - } - .carousel.carousel-fade .carousel-item { - transition: opacity ease-out .7s; - left: 0; - opacity: 0; /* hide all slides */ - top: 0; - position: absolute; - width: 100%; - display: block; - } - .carousel.carousel-fade .carousel-item:first-child { - top: auto; - position: relative; - } - .carousel.carousel-fade .carousel-item.active { - opacity: 1; - } - - .carousel-inner { - .carousel-item { - padding: 5px; //padding to see images box shadow (see below) - position: relative; - - img, object, svg { - position: relative; - top: 0; - width: 80%; //not 100% to move the next/previous controls out of the img - margin: auto; // center image - - box-shadow: 3px 3px 6px 3px $color-shadow; // image pops out of page - - &:not(:first-child) { - position: absolute; - box-shadow: unset; // first image's shadow is stil there - - // keep parents padding - top: 5px; - left: calc(10% + 5px); - right: calc(10% + 5px); - width: unset; // specified from left & right offset - - //animation - opacity:0; - animation: 1s forwards fadein; - animation-delay: 2s; - animation-play-state: paused; // dont start animation until slide is active - } - } - - &.active { - img, object, svg { - &:not(:first-child) { - animation-play-state: running; - } - } - } - - &.videoWrapper { - padding-bottom: 56.25%; /* 16:9 */ - height: 0; - - iframe { - position: absolute; - top: 0; - left: 10%; - width: 80%; - height: 80%; - } - } - } - - .carousel-caption { - // bootstrap's default color is white - color: $color-text; - text-shadow: unset; - - // // moveσ caption below image - // // position: relative; - // // left: auto; - // // right: auto; - } - } - - .carousel-indicators { - bottom: -2.5em; - - li{ - // Image indicators would be white and rectangular shaped by default - border: 1px solid #2f353a; - border-radius: 50%; - width: 12px; - height: 12px; - - &.active { - background-color: #2f353a; - } - } - } - - .carousel-control-prev { - left: $carousel-control-width * -0.2; - } - - .carousel-control-next { - right: $carousel-control-width * -0.2; - } - } - - @keyframes fadein { - 0% { opacity: 0; } - 100% { opacity: 1; } - } \ No newline at end of file diff --git a/dist/scss/pages/HomePage.scss b/dist/scss/pages/HomePage.scss deleted file mode 100644 index 0dbd5f3..0000000 --- a/dist/scss/pages/HomePage.scss +++ /dev/null @@ -1,3 +0,0 @@ -.ordino-getting-started-wrapper { - background: $white; -} diff --git a/dist/scss/pages/abstracts/_variables.scss b/dist/scss/pages/abstracts/_variables.scss deleted file mode 100644 index e69de29..0000000 diff --git a/dist/scss/pages/base/_base.scss b/dist/scss/pages/base/_base.scss deleted file mode 100644 index de95ea4..0000000 --- a/dist/scss/pages/base/_base.scss +++ /dev/null @@ -1,17 +0,0 @@ -// keep the footer at the bottom -// @see https://moderncss.dev/keep-the-footer-at-the-bottom-flexbox-vs-grid/ -#welcome { - min-height: 100vh; - display: grid; - grid-template-rows: auto 1fr auto; - background-color: $gray-100; - color: $gray-800; - - #loading-welcome { - grid-row: 1/3; - display: flex; - justify-content: center; - align-items: center; - font-size: 1.5rem; - } -} diff --git a/dist/scss/pages/components/CoralHero.scss b/dist/scss/pages/components/CoralHero.scss deleted file mode 100644 index 6e2b597..0000000 --- a/dist/scss/pages/components/CoralHero.scss +++ /dev/null @@ -1,75 +0,0 @@ -.coral-hero { - background-color: $gray-800; - // background pattern from https://app.haikei.app/ > stacked waves - // encoded for background-image url with https://yoksel.github.io/url-encoder/ - background-image: url("data:image/svg+xml,%3Csvg viewBox='0 0 1900 720' width='1900' height='720' xmlns='http://www.w3.org/2000/svg' xmlns:xlink='http://www.w3.org/1999/xlink' version='1.1'%3E%3Cpath d='M0 64L28.8 71C57.7 78 115.3 92 172.8 94.3C230.3 96.7 287.7 87.3 345.2 79.2C402.7 71 460.3 64 518 68.7C575.7 73.3 633.3 89.7 691 92C748.7 94.3 806.3 82.7 863.8 82.7C921.3 82.7 978.7 94.3 1036.2 97.8C1093.7 101.3 1151.3 96.7 1209 88.5C1266.7 80.3 1324.3 68.7 1382 64C1439.7 59.3 1497.3 61.7 1554.8 61.7C1612.3 61.7 1669.7 59.3 1727.2 65.2C1784.7 71 1842.3 85 1871.2 92L1900 99L1900 0L1871.2 0C1842.3 0 1784.7 0 1727.2 0C1669.7 0 1612.3 0 1554.8 0C1497.3 0 1439.7 0 1382 0C1324.3 0 1266.7 0 1209 0C1151.3 0 1093.7 0 1036.2 0C978.7 0 921.3 0 863.8 0C806.3 0 748.7 0 691 0C633.3 0 575.7 0 518 0C460.3 0 402.7 0 345.2 0C287.7 0 230.3 0 172.8 0C115.3 0 57.7 0 28.8 0L0 0Z' fill='%23006192'%3E%3C/path%3E%3Cpath d='M0 92L28.8 103.7C57.7 115.3 115.3 138.7 172.8 144.5C230.3 150.3 287.7 138.7 345.2 127C402.7 115.3 460.3 103.7 518 110.7C575.7 117.7 633.3 143.3 691 146.8C748.7 150.3 806.3 131.7 863.8 131.7C921.3 131.7 978.7 150.3 1036.2 156.2C1093.7 162 1151.3 155 1209 145.7C1266.7 136.3 1324.3 124.7 1382 117.7C1439.7 110.7 1497.3 108.3 1554.8 109.5C1612.3 110.7 1669.7 115.3 1727.2 122.3C1784.7 129.3 1842.3 138.7 1871.2 143.3L1900 148L1900 97L1871.2 90C1842.3 83 1784.7 69 1727.2 63.2C1669.7 57.3 1612.3 59.7 1554.8 59.7C1497.3 59.7 1439.7 57.3 1382 62C1324.3 66.7 1266.7 78.3 1209 86.5C1151.3 94.7 1093.7 99.3 1036.2 95.8C978.7 92.3 921.3 80.7 863.8 80.7C806.3 80.7 748.7 92.3 691 90C633.3 87.7 575.7 71.3 518 66.7C460.3 62 402.7 69 345.2 77.2C287.7 85.3 230.3 94.7 172.8 92.3C115.3 90 57.7 76 28.8 69L0 62Z' fill='%23006ca4'%3E%3C/path%3E%3Cpath d='M0 141L28.8 158.5C57.7 176 115.3 211 172.8 222.7C230.3 234.3 287.7 222.7 345.2 204C402.7 185.3 460.3 159.7 518 159.7C575.7 159.7 633.3 185.3 691 190C748.7 194.7 806.3 178.3 863.8 178.3C921.3 178.3 978.7 194.7 1036.2 201.7C1093.7 208.7 1151.3 206.3 1209 201.7C1266.7 197 1324.3 190 1382 186.5C1439.7 183 1497.3 183 1554.8 185.3C1612.3 187.7 1669.7 192.3 1727.2 197C1784.7 201.7 1842.3 206.3 1871.2 208.7L1900 211L1900 146L1871.2 141.3C1842.3 136.7 1784.7 127.3 1727.2 120.3C1669.7 113.3 1612.3 108.7 1554.8 107.5C1497.3 106.3 1439.7 108.7 1382 115.7C1324.3 122.7 1266.7 134.3 1209 143.7C1151.3 153 1093.7 160 1036.2 154.2C978.7 148.3 921.3 129.7 863.8 129.7C806.3 129.7 748.7 148.3 691 144.8C633.3 141.3 575.7 115.7 518 108.7C460.3 101.7 402.7 113.3 345.2 125C287.7 136.7 230.3 148.3 172.8 142.5C115.3 136.7 57.7 113.3 28.8 101.7L0 90Z' fill='%230078b6'%3E%3C/path%3E%3Cpath d='M0 204L28.8 216.8C57.7 229.7 115.3 255.3 172.8 264.7C230.3 274 287.7 267 345.2 249.5C402.7 232 460.3 204 518 204C575.7 204 633.3 232 691 235.5C748.7 239 806.3 218 863.8 214.5C921.3 211 978.7 225 1036.2 236.7C1093.7 248.3 1151.3 257.7 1209 253C1266.7 248.3 1324.3 229.7 1382 222.7C1439.7 215.7 1497.3 220.3 1554.8 226.2C1612.3 232 1669.7 239 1727.2 247.2C1784.7 255.3 1842.3 264.7 1871.2 269.3L1900 274L1900 209L1871.2 206.7C1842.3 204.3 1784.7 199.7 1727.2 195C1669.7 190.3 1612.3 185.7 1554.8 183.3C1497.3 181 1439.7 181 1382 184.5C1324.3 188 1266.7 195 1209 199.7C1151.3 204.3 1093.7 206.7 1036.2 199.7C978.7 192.7 921.3 176.3 863.8 176.3C806.3 176.3 748.7 192.7 691 188C633.3 183.3 575.7 157.7 518 157.7C460.3 157.7 402.7 183.3 345.2 202C287.7 220.7 230.3 232.3 172.8 220.7C115.3 209 57.7 174 28.8 156.5L0 139Z' fill='%230084c8'%3E%3C/path%3E%3Cpath d='M0 421L28.8 421C57.7 421 115.3 421 172.8 423.3C230.3 425.7 287.7 430.3 345.2 416.3C402.7 402.3 460.3 369.7 518 361.5C575.7 353.3 633.3 369.7 691 373.2C748.7 376.7 806.3 367.3 863.8 365C921.3 362.7 978.7 367.3 1036.2 376.7C1093.7 386 1151.3 400 1209 404.7C1266.7 409.3 1324.3 404.7 1382 388.3C1439.7 372 1497.3 344 1554.8 346.3C1612.3 348.7 1669.7 381.3 1727.2 398.8C1784.7 416.3 1842.3 418.7 1871.2 419.8L1900 421L1900 272L1871.2 267.3C1842.3 262.7 1784.7 253.3 1727.2 245.2C1669.7 237 1612.3 230 1554.8 224.2C1497.3 218.3 1439.7 213.7 1382 220.7C1324.3 227.7 1266.7 246.3 1209 251C1151.3 255.7 1093.7 246.3 1036.2 234.7C978.7 223 921.3 209 863.8 212.5C806.3 216 748.7 237 691 233.5C633.3 230 575.7 202 518 202C460.3 202 402.7 230 345.2 247.5C287.7 265 230.3 272 172.8 262.7C115.3 253.3 57.7 227.7 28.8 214.8L0 202Z' fill='%23278fce'%3E%3C/path%3E%3Cpath d='M0 519L28.8 517.8C57.7 516.7 115.3 514.3 172.8 517.8C230.3 521.3 287.7 530.7 345.2 524.8C402.7 519 460.3 498 518 481.7C575.7 465.3 633.3 453.7 691 456C748.7 458.3 806.3 474.7 863.8 484C921.3 493.3 978.7 495.7 1036.2 502.7C1093.7 509.7 1151.3 521.3 1209 523.7C1266.7 526 1324.3 519 1382 499.2C1439.7 479.3 1497.3 446.7 1554.8 452.5C1612.3 458.3 1669.7 502.7 1727.2 519C1784.7 535.3 1842.3 523.7 1871.2 517.8L1900 512L1900 419L1871.2 417.8C1842.3 416.7 1784.7 414.3 1727.2 396.8C1669.7 379.3 1612.3 346.7 1554.8 344.3C1497.3 342 1439.7 370 1382 386.3C1324.3 402.7 1266.7 407.3 1209 402.7C1151.3 398 1093.7 384 1036.2 374.7C978.7 365.3 921.3 360.7 863.8 363C806.3 365.3 748.7 374.7 691 371.2C633.3 367.7 575.7 351.3 518 359.5C460.3 367.7 402.7 400.3 345.2 414.3C287.7 428.3 230.3 423.7 172.8 421.3C115.3 419 57.7 419 28.8 419L0 419Z' fill='%233d99d4'%3E%3C/path%3E%3Cpath d='M0 666L28.8 666C57.7 666 115.3 666 172.8 660.2C230.3 654.3 287.7 642.7 345.2 641.5C402.7 640.3 460.3 649.7 518 654.3C575.7 659 633.3 659 691 659C748.7 659 806.3 659 863.8 655.5C921.3 652 978.7 645 1036.2 643.8C1093.7 642.7 1151.3 647.3 1209 647.3C1266.7 647.3 1324.3 642.7 1382 639.2C1439.7 635.7 1497.3 633.3 1554.8 635.7C1612.3 638 1669.7 645 1727.2 646.2C1784.7 647.3 1842.3 642.7 1871.2 640.3L1900 638L1900 510L1871.2 515.8C1842.3 521.7 1784.7 533.3 1727.2 517C1669.7 500.7 1612.3 456.3 1554.8 450.5C1497.3 444.7 1439.7 477.3 1382 497.2C1324.3 517 1266.7 524 1209 521.7C1151.3 519.3 1093.7 507.7 1036.2 500.7C978.7 493.7 921.3 491.3 863.8 482C806.3 472.7 748.7 456.3 691 454C633.3 451.7 575.7 463.3 518 479.7C460.3 496 402.7 517 345.2 522.8C287.7 528.7 230.3 519.3 172.8 515.8C115.3 512.3 57.7 514.7 28.8 515.8L0 517Z' fill='%234fa4da'%3E%3C/path%3E%3Cpath d='M0 701L28.8 701C57.7 701 115.3 701 172.8 701C230.3 701 287.7 701 345.2 701C402.7 701 460.3 701 518 701C575.7 701 633.3 701 691 701C748.7 701 806.3 701 863.8 701C921.3 701 978.7 701 1036.2 701C1093.7 701 1151.3 701 1209 701C1266.7 701 1324.3 701 1382 701C1439.7 701 1497.3 701 1554.8 701C1612.3 701 1669.7 701 1727.2 701C1784.7 701 1842.3 701 1871.2 701L1900 701L1900 636L1871.2 638.3C1842.3 640.7 1784.7 645.3 1727.2 644.2C1669.7 643 1612.3 636 1554.8 633.7C1497.3 631.3 1439.7 633.7 1382 637.2C1324.3 640.7 1266.7 645.3 1209 645.3C1151.3 645.3 1093.7 640.7 1036.2 641.8C978.7 643 921.3 650 863.8 653.5C806.3 657 748.7 657 691 657C633.3 657 575.7 657 518 652.3C460.3 647.7 402.7 638.3 345.2 639.5C287.7 640.7 230.3 652.3 172.8 658.2C115.3 664 57.7 664 28.8 664L0 664Z' fill='%234fa4da'%3E%3C/path%3E%3C/svg%3E"); - background-attachment: fixed; - background-size: cover; - color: $gray-100; - position: relative; - - &::before { - content: ''; - display: block; - box-shadow: 0 -9px 8px 0 rgba(0,0,0,0.11); // cast shadow from the element following the hero onto the hero itself - position: absolute; - bottom: -10px; - height: 10px; - width: 100%; - z-index: 1; - } - - .coral-hero-claim { - font-size: 1.5rem; - } - - .coral-hero-actions { - button, - a { - color: $gray-100; - text-decoration: none; - font-size: 1.5rem; - - i { - border: 2px solid $gray-100; - border-radius: 50%; - width: 2.1rem; - height: 2.1rem; - font-size: 1rem; - display: inline-flex; - align-items: center; - justify-content: center; - margin-right: 0.6rem; - position: relative; - top: -0.2rem; - } - - &:hover { - color: $ordino-white-hover; - } - - &:hover > i { - color: $ordino-white-hover; - border-color: $ordino-white-hover; - } - - &:focus { - color: $ordino-white-hover; - box-shadow: 0 0 0 0.1rem shift-color($gray-100, -50%); - } - } - } - - .coral-hero-image { - height: clamp(200px, 25vw, 400px); - overflow: hidden; - - img { - width: 100%; - } - } -} - -.coral-intro-video-modal { - max-width: 1310px; // video width 1280 px + margin 30 px -} diff --git a/dist/scss/pages/components/CoralTeaserCards.scss b/dist/scss/pages/components/CoralTeaserCards.scss deleted file mode 100644 index fe5ba7d..0000000 --- a/dist/scss/pages/components/CoralTeaserCards.scss +++ /dev/null @@ -1,11 +0,0 @@ -.coral-teaser-cards { - .col { - // use flex box to stack headline and card and make cards equally high - display: flex; - flex-direction: column; - } - - .card-footer { - background-color: transparent; - } - } \ No newline at end of file diff --git a/dist/scss/pages/components/Footer.scss b/dist/scss/pages/components/Footer.scss deleted file mode 100644 index 0fbd2f5..0000000 --- a/dist/scss/pages/components/Footer.scss +++ /dev/null @@ -1,3 +0,0 @@ -.ordino-footer { - background: #006192; -} \ No newline at end of file diff --git a/dist/scss/pages/components/GettingStarted.scss b/dist/scss/pages/components/GettingStarted.scss deleted file mode 100644 index 9f20812..0000000 --- a/dist/scss/pages/components/GettingStarted.scss +++ /dev/null @@ -1,36 +0,0 @@ -.ordino-getting-started { - .ordino-getting-started-steps { - list-style: none; // ordered list items and use custom counter for easier styling - counter-reset: getting-started-counter; - - li { - counter-increment: getting-started-counter; - - &::before { - content: counter(getting-started-counter); - background-color: $gray-800; - color: $white; - display: inline-block; - width: 2.8rem; - height: 2.8rem; - border-radius: 50%; - font-size: 1.8rem; - } - - h2 { - font-size: 1.5rem; - } - - p { - font-size: 1.2rem; - color: $gray-600; - } - } - } - - .btn { - font-size: 1.4rem; - text-transform: uppercase; - font-weight: 500; - } -} diff --git a/dist/scss/pages/components/Header.scss b/dist/scss/pages/components/Header.scss deleted file mode 100644 index 924352c..0000000 --- a/dist/scss/pages/components/Header.scss +++ /dev/null @@ -1,4 +0,0 @@ -.ordino-header-navigation { - background: #006192; - padding: 0.5rem; -} \ No newline at end of file diff --git a/dist/scss/pages/components/VideoCard.scss b/dist/scss/pages/components/VideoCard.scss deleted file mode 100644 index 581b429..0000000 --- a/dist/scss/pages/components/VideoCard.scss +++ /dev/null @@ -1,13 +0,0 @@ -// see https://github.com/Caleydo/ordino_public/blob/7e5de76fdc2dc1278eaacaa8a3fbc06902e52c52/src/scss/components/VideoCard.scss - -.coral-video-card { - iframe { - height: 15em; - } - - @media only screen and (min-width: 992px) { - iframe { - height: 35em; - } - } -} diff --git a/dist/scss/pages/main.scss b/dist/scss/pages/main.scss deleted file mode 100644 index ebb83ab..0000000 --- a/dist/scss/pages/main.scss +++ /dev/null @@ -1,16 +0,0 @@ -@import "./abstracts/variables"; - -@import "./base/base"; - -// pages -@import "HomePage"; -@import "FeaturesPage"; -@import "pages"; - -// components -@import "./components/GettingStarted"; -@import "./components/CoralTeaserCards"; -@import "./components/CoralHero"; -@import "./components/VideoCard"; -@import "./components/Footer"; -@import "./components/Header"; \ No newline at end of file diff --git a/dist/scss/pages/pages.scss b/dist/scss/pages/pages.scss deleted file mode 100644 index 294878c..0000000 --- a/dist/scss/pages/pages.scss +++ /dev/null @@ -1,51 +0,0 @@ -.news-page { - .news-page-section:not(:first-child) { - padding-top: 3.75rem; - } -} - -.ordino-publication-page { - .card-footer { - background-color: transparent; - } - - iframe { - height: 15em; - } - - @media only screen and (min-width: 768px) { - iframe { - height: 40em; - } - } -} - -.ordino-icon-1 { - font-size: 2rem; - color: #0084c8; -} - -.ordino-icon-2 { - background-color: #0084c8; - color: $white; - display: inline-flex; - align-items: center; - justify-content: center; - width: 2.2rem; - height: 2.2rem; - border-radius: 50%; - font-size: 1rem; -} - -// class to use in pages without scrollspy, in order to have a consistent scrolling behavior in all pages -// same as `.ordino-scrollspy-container` -.ordino-container { - position: absolute; - overflow: auto; - top: 0; - left: 0; - right: 0; - bottom: 0; - display: grid; - grid-template-rows: 1fr auto; -} diff --git a/dist/templates/LoginDialog.html b/dist/templates/LoginDialog.html deleted file mode 100644 index e2d567b..0000000 --- a/dist/templates/LoginDialog.html +++ /dev/null @@ -1,47 +0,0 @@ - \ No newline at end of file diff --git a/dist/welcome.template.ejs b/dist/welcome.template.ejs deleted file mode 100644 index 2463cb0..0000000 --- a/dist/welcome.template.ejs +++ /dev/null @@ -1,44 +0,0 @@ - - - - - - - - Coral • Interactive Cohort Analysis - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
-
Loading …
-
- - - diff --git a/package.json b/package.json index fc524af..8a7dc88 100644 --- a/package.json +++ b/package.json @@ -2,13 +2,14 @@ "name": "coral", "description": "Coral is a web-based cohort analysis tool to interactively create, refine, and analyze patient cohorts.", "homepage": "https://caleydo.org", - "version": "1.0.1", + "version": "1.1.0", "author": { "name": "PatrickAdelberger", "email": "coral@caleydo.org", "url": "https://jku-vds-lab.at/" }, "license": "SEE LICENSE FILE", + "main": "dist/index.js", "bugs": { "url": "https://github.com/Caleydo/coral/issues" }, @@ -97,7 +98,7 @@ "react-dom": "^16.13.0", "react-router-dom": "^5.2.0", "split-grid": "^1.0.9", - "tdp_publicdb": "github:caleydo/tdp_publicdb#keckelt/rem_dTiles", + "tdp_publicdb": "github:caleydo/tdp_publicdb#develop", "tippy.js": "^6.2.6", "tourdino": "github:caleydo/tourdino#keckelt/vega_boxplot", "vega": "~5.20.0", diff --git a/src/LoginDialog.ts b/src/LoginDialog.ts deleted file mode 100644 index 1e003ec..0000000 --- a/src/LoginDialog.ts +++ /dev/null @@ -1,15 +0,0 @@ -export function create(_loginMenu: HTMLElement, loginDialog: HTMLElement) { - const LOCALSTORAGE_ACCEPT_GENIE_TERMS = 'coral_accept_genie_terms'; - - const checkboxAcceptGenieTerms: HTMLInputElement = loginDialog.querySelector('#accept_genie_terms'); - const localStorageValue = localStorage.getItem(LOCALSTORAGE_ACCEPT_GENIE_TERMS); - - if (localStorageValue !== null) { - // check the checkbox if it was checked before - checkboxAcceptGenieTerms.checked = (localStorageValue === 'true'); - } - - checkboxAcceptGenieTerms.addEventListener('change', function() { - localStorage.setItem(LOCALSTORAGE_ACCEPT_GENIE_TERMS, String(this.checked)); - }); -} diff --git a/src/app.template.ejs b/src/app.template.ejs deleted file mode 100644 index d968868..0000000 --- a/src/app.template.ejs +++ /dev/null @@ -1,65 +0,0 @@ - - - - - - - - Coral - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - diff --git a/src/app.ts b/src/app.ts index 5b947a9..d1575f1 100644 --- a/src/app.ts +++ b/src/app.ts @@ -17,7 +17,6 @@ import {getDBCohortData} from './rest'; import {Task} from './Tasks'; import Taskview, {InputCohort} from './Taskview/Taskview'; import deleteModal from './templates/DeleteModal.html'; -import loginDialog from './templates/LoginDialog.html'; import welcomeHtml from './templates/Welcome.html'; // webpack imports html to variable import * as aboutDisclaimer from './templates/_aboutDisclaimer.html'; import {getAnimatedLoadingText, handleDataLoadError, log, removeFromArray} from './util'; @@ -511,7 +510,7 @@ export class CohortApp { */ export class App extends ATDPApplication { - constructor(name: string) { + constructor(name: string, loginDialog: string) { super({ prefix: 'coral', name, diff --git a/src/index.ts b/src/index.ts index a7fba9f..cc925cf 100644 --- a/src/index.ts +++ b/src/index.ts @@ -7,5 +7,7 @@ export * from './Cohort'; export * from './CohortInterfaces'; export * from './CohortRepresentations'; export * from './cohortview'; -export * from './LoginDialog'; export * from './rest'; + +export * from './util'; +export * from './utils'; diff --git a/src/initialize.app.ts b/src/initialize.app.ts deleted file mode 100644 index 99e2dbb..0000000 --- a/src/initialize.app.ts +++ /dev/null @@ -1,10 +0,0 @@ -/** - * Created by Caleydo Team on 31.08.2016. - */ - -import {App} from './app'; - -const APP_NAME = 'Coral'; - -document.title = APP_NAME; -const tdpApp = new App(APP_NAME); // assign to variable to avoid linting errors diff --git a/src/initialize.welcome.tsx b/src/initialize.welcome.tsx deleted file mode 100644 index cd10c6b..0000000 --- a/src/initialize.welcome.tsx +++ /dev/null @@ -1,48 +0,0 @@ -import 'ordino/dist/robots.txt'; - -import * as React from 'react'; -import * as ReactDOM from 'react-dom'; -import {HashRouter, Switch, Route} from 'react-router-dom'; -import {HomePage, NewsPage, FeaturesPage, DatasetsPage, PublicationPage, HelpPage} from './pages'; -import {RouterScrollToTop} from './utils'; -import {Error404Page} from './pages/Error404Page'; - -ReactDOM.render( - <> - - - {/* A looks through its children s and - renders the first one that matches the current URL. */} - - {/* initialize slug version first */} - - - - - - - - - - - - - - - {/* initialize slug version first */} - - - {/* then fallback */} - - - - - - { /* = no match */} - - - - - , - document.querySelector('#welcome') -); diff --git a/src/menu/DatasetCard.tsx b/src/menu/DatasetCard.tsx deleted file mode 100644 index 06d93b4..0000000 --- a/src/menu/DatasetCard.tsx +++ /dev/null @@ -1,148 +0,0 @@ -import React from 'react'; -import {INamedSet, ENamedSetType, RestBaseUtils, RestStorageUtils, StoreUtils, IdTextPair} from 'tdp_core'; -import {NamedSetList, OrdinoContext} from 'ordino'; -import {UserSession, UniqueIdManager, I18nextManager, IDTypeManager, useAsync} from 'tdp_core'; -import {DatasetSearchBox} from './DatasetSearchBox'; -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 {app} = React.useContext(OrdinoContext); - const [dirtyNamedSets, setDirtyNamedSets] = React.useState(false); - - const loadPredefinedSet = React.useMemo<() => Promise>(() => { - return () => RestBaseUtils.getTDPData(dataSource.db, `${dataSource.base}_panel`) - .then((panels: {id: string, description: string, species: string}[]) => { - 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}): INamedSet { - return { - type: ENamedSetType.PANEL, - id, - name: id, - description, - subTypeKey: Species.SPECIES_SESSION_KEY, - subTypeFromSession: false, - subTypeValue: species, - idType: '' - }; - })]; - }); - }, [dataSource.idType]); - - const loadNamedSets = React.useMemo<() => Promise>(() => { - return () => RestStorageUtils.listNamedSets(dataSource.idType); - }, [dataSource.idType, dirtyNamedSets]); - - const predefinedNamedSets = useAsync(loadPredefinedSet); - const me = UserSession.getInstance().currentUserNameOrAnonymous(); - const namedSets = useAsync(loadNamedSets); - const myNamedSets = {...namedSets, ...{value: namedSets.value?.filter((d) => d.type === ENamedSetType.NAMEDSET && d.creator === me)}}; - const publicNamedSets = {...namedSets, ...{value: namedSets.value?.filter((d) => d.type === ENamedSetType.NAMEDSET && d.creator !== me)}}; - const filterValue = (value: INamedSet[], tab: string) => value?.filter((entry) => entry.subTypeValue === tab); - - const onOpenNamedSet = (event: React.MouseEvent, {namedSet, species}: {namedSet: INamedSet, species: string}) => { - event.preventDefault(); - - const defaultSessionValues = { - [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); - - app.startNewSession(startViewId, {namedSet}, defaultSessionValues); - }; - - const onOpenSearchResult = (event: React.MouseEvent, {searchResult, species}: {searchResult: Partial, species: string}) => { - event.preventDefault(); - - const defaultSessionValues = { - [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: IdTextPair[], subtype: {key: string, value: string}) => { - StoreUtils.editDialog(null, I18nextManager.getInstance().i18n.t(`tdp:core.editDialog.listOfEntities.default`), async (name, description, isPublic) => { - const idStrings = 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); - setDirtyNamedSets((d) => !d); - }); - }; - - const id = React.useMemo(() => UniqueIdManager.getInstance().uniqueId(), []); - const activeTabIndex = 0; - - return ( -
-

{name}

-
-
- -
- {tabs.map((tab, index) => { - const separators = tokenSeparators ? {tokenSeparators} : null; - return ( -
- onSaveAsNamedSet(items, {key: Species.SPECIES_SESSION_KEY, value: tab.id})} - onOpen={(event, searchResult: Partial) => {onOpenSearchResult(event, {searchResult, species: tab.id});}} - {...separators} - /> -
- {onOpenNamedSet(event, {namedSet, species: tab.id});}} - status={predefinedNamedSets.status} - value={filterValue(predefinedNamedSets.value, tab.id)} /> - {onOpenNamedSet(event, {namedSet, species: tab.id});}} - status={myNamedSets.status} - value={filterValue(myNamedSets.value, tab.id)} /> - {onOpenNamedSet(event, {namedSet, species: tab.id});}} - status={publicNamedSets.status} - value={filterValue(publicNamedSets.value, tab.id)} /> -
-
- ); - })} -
-
-
-
- ); -} diff --git a/src/menu/DatasetSearchBox.tsx b/src/menu/DatasetSearchBox.tsx deleted file mode 100644 index e5e3b29..0000000 --- a/src/menu/DatasetSearchBox.tsx +++ /dev/null @@ -1,175 +0,0 @@ -import React from 'react'; -import {RestBaseUtils, IdTextPair, Select3Utils} from 'tdp_core'; -import {components, FormatOptionLabelMeta} from 'react-select'; -import {AsyncPaginate} from 'react-select-async-paginate'; -import Highlighter from 'react-highlight-words'; -import {GeneUtils, IDataSourceConfig} from '../common'; -import {IACommonListOptions} from 'tdp_gene'; - -interface IDatasetSearchOption { - id: any; - text: string; - invalid?: boolean; -} - -interface IDatasetSearchBoxParams { - [key: string]: any; -} - -interface IDatasetSearchBoxProps { - placeholder: string; - dataSource: IDataSourceConfig; - onSaveAsNamedSet: (items: IdTextPair[]) => void; - onOpen: (event: React.MouseEvent, search: Partial) => void; - /** - * Extra parameters when querying the options of the searchbox, - */ - params?: IDatasetSearchBoxParams; - tokenSeparators?: RegExp; -} - -export function DatasetSearchBox({placeholder, dataSource, onOpen, onSaveAsNamedSet, params = {}, tokenSeparators = /[\s;,]+/gm}: IDatasetSearchBoxProps) { - const [items, setItems] = React.useState([]); - const [inputValue, setInputValue] = React.useState(''); - const loadOptions = async (query: string, _, {page}: {page: number}) => { - const {db, base, dbViewSuffix, entityName} = dataSource; - return RestBaseUtils.getTDPLookup(db, base + dbViewSuffix, { - column: entityName, - ...params, - query, - page, - limit: 10 - }).then(({items, more}) => ({ - options: items, - hasMore: more, - additional: { - page: page + 1 - } - })); - }; - - const formatOptionLabel = (option: IDatasetSearchOption, ctx: FormatOptionLabelMeta) => { - // do not highlight selected elements - if (ctx.selectValue?.some((o) => o.id === option.id)) { - return option.text; - } - return ( - <> - - {option.text !== option.id && - {option.id}} - - ); - }; - - - React.useEffect(() => { - setInputValue(''); - }, [items]); - - const onPaste = async (event: React.ClipboardEvent) => { - const pastedData = event.clipboardData.getData('text')?.toLocaleLowerCase(); - 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())) - .map((s) => ({id: s, text: s, invalid: true})); - setItems([...validData, ...invalidData]); - }; - - const validItems = items?.filter((i) => !i.invalid); - - const searchResults = { - search: { - ids: validItems.map((i) => i.id), - type: dataSource.tableName - } - }; - - 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' - } - }) - }} - /> -
- - -
- ); -} - -function Input(props: any) { - const {onPaste} = props.selectProps; - return (); -} diff --git a/src/menu/HelpTab.tsx b/src/menu/HelpTab.tsx deleted file mode 100644 index d5d6c00..0000000 --- a/src/menu/HelpTab.tsx +++ /dev/null @@ -1,16 +0,0 @@ -import {OrdinoFooter} from 'ordino'; -import * as React from 'react'; -import {BrowserRouter} from 'react-router-dom'; -import {DevelopedByAffiliations} from '../pages/components/DevelopedByAffiliations'; -import {CoralHelpSection} from '../pages/components/CoralHelpSection'; - -export default function HelpTab() { - return <> - - - - - - - ; -} diff --git a/src/menu/index.ts b/src/menu/index.ts deleted file mode 100644 index d2bc841..0000000 --- a/src/menu/index.ts +++ /dev/null @@ -1,3 +0,0 @@ -export * from './DatasetCard'; -export * from './DatasetSearchBox'; -export * from './HelpTab'; diff --git a/src/pages/DatasetsPage.tsx b/src/pages/DatasetsPage.tsx deleted file mode 100644 index 7426614..0000000 --- a/src/pages/DatasetsPage.tsx +++ /dev/null @@ -1,86 +0,0 @@ -import {HeaderNavigation, OrdinoFooter} from 'ordino'; -import * as React from 'react'; - -interface IDatasetPageCardProps { - title: string; - children?: React.ReactNode; -} - - -export function DatasetPageCard({title, children}: IDatasetPageCardProps) { - return ( -
-
-
{title}
- {children} -
-
- ); -} - - -export function DatasetsPage() { - return ( - <> - -
-
-
-
-
-

Basic Datasets

-
-
-
-
- -

Sample annotation and mutation data

- www.aacr.org/professionals/research/aacr-project-genie -
-
-
- -

Sample annotation, gene expression, mutation, and copy number data

- cancergenome.nih.gov -
-
-
- -
-
- -

Sample annotation, gene expression, mutation, and copy number data

- portals.broadinstitute.org/ccle -
-
-
-
-
-

Depletion Sceen Data

-
-
- - -
- -
-
- - ); -} diff --git a/src/pages/Error404Page.tsx b/src/pages/Error404Page.tsx deleted file mode 100644 index 110a4d8..0000000 --- a/src/pages/Error404Page.tsx +++ /dev/null @@ -1,16 +0,0 @@ -import * as React from 'react'; -import {HeaderNavigation, OrdinoFooter} from 'ordino'; - -export function Error404Page() { - return ( - <> - -
-
-

Page Not Found

-
-
- - - ); -} diff --git a/src/pages/FeaturesPage.tsx b/src/pages/FeaturesPage.tsx deleted file mode 100644 index 1ec0ea8..0000000 --- a/src/pages/FeaturesPage.tsx +++ /dev/null @@ -1,271 +0,0 @@ -import {HeaderNavigation, OrdinoFooter} from 'ordino'; -import * as React from 'react'; -import areaChart from '../assets/feature_icons/areaChart.png'; -import barChart from '../assets/feature_icons/barChart.png'; -import boxPlot from '../assets/feature_icons/boxPlot.png'; -import densityPlot from '../assets/feature_icons/densityPlot.png'; -import scatterPlot from '../assets/feature_icons/scatterPlot.png'; -import survivalPlot from '../assets/feature_icons/survivalPlot.png'; -import {FeatureCard} from './components/FeatureCard'; -import intro from '../assets/welcome_tour/030_Workflow_Intro.svg'; -import overview1 from '../assets/welcome_tour/100_Overview.svg'; -import overview2 from '../assets/welcome_tour/110_Overview.svg'; -import split1 from '../assets/welcome_tour/200_Split.svg'; -import split2 from '../assets/welcome_tour/210_Split.svg'; -import filter1 from '../assets/welcome_tour/300_Filter.svg'; -import filter2 from '../assets/welcome_tour/310_Filter.svg'; -import prevalence from '../assets/welcome_tour/400_Prevalence.svg'; -import compare1 from '../assets/welcome_tour/500_Compare.svg'; -import compare2 from '../assets/welcome_tour/510_Compare.svg'; -import details from '../assets/welcome_tour/600_Details.svg'; - -export function FeaturesPage() { - return ( - <> - -
-
-
- -
-
- -
-
- -
-
-

Features

-
-
- {/* Onboarding */} -
-
-

Onboarding

-
-
-
-
-

- Coral offers onboarding tooltips to guide new users through the application. The tooltips indicate what elements represent and what roles they play in Coral. - A general workflow will be supported with these onboarding tooltips to explain the iterative workflow, cohort creation and how cohorts can be characterized. -

-
-
- - - {/* Cohort Tracking */} -
-
-

Cohort Tracking

-
-
-
-
-

- The Cohort Evolution View (upper panel) presents how all cohorts were generated as well as their relationships as a graph. - Operations and cohorts are encoded as nodes connected by edges to represent the analysis flow. - The first cohort includes all items of the loaded dataset and is created automatically. - When the user selects a cohort in the graph, it is assigned a color that is used consistently in all visualizations. -

-
-
- - - {/* Cohort Creation */} -
-
-

Cohort Creation

-
-
-
-
-

- Selected cohorts are loaded into the Action View (lower panel), which allows users to perform cohort characterization and creation operations. - New cohorts created by these operations are also added to the graph, which results in an iterative cohort definition and analysis workflow. - The Action View is divided into three areas: the Input Area, the Operation Area, and the optional Output Area, which is shown if the operation results in new cohorts. - The Operation Area provides the several operations that can be applied to the input cohorts. -

-
Filter & Split
-

- The Filter & Split operation is used to create cohorts from the loaded dataset. - Filtering works by selecting the values of interest to create a new cohort. In contrast, the Split operation can be used to divide a cohort into mulitple sub-cohorst. -

-
-
- - - {/* View */} -
-
-

View

-
-
-
-
-

- The View operation is the main route to exploring the dataset and investigating how the values of one or more attributes are distributed across cohorts. -

-

- Coral offers different visualizations, based on the number and type of attributes: -

-
-
-
- -

- A categorical attribute will be shown with a bar chart, which shows the distribution of values for each category. - If more than one cohort is selected, a grouped bar chart will be shown. -

-
- -

- A quantitative attribute will be displayed with a density plot and will superimpose the different curves for multiple selected cohorts. -

-
- -

- The survival plot is only used for quantitative attributes related to the survival, if multiple cohorts are selected the multiple curves will be superimposed. -

-
- -

- Selecting a categorical and a quantitative attribute will show a boxplot, with a box for each category. - For multiple cohorts a box plot with mutliple boxes for each category will be shown, each representing a cohort. -

-
- -

- A scatterplot will be used to display two quantitative attributes. - In case of multiple cohorts, all datapoints of each cohort will be plotted corresponding with the color of the cohort. -

-
- -

- Choosing two categorical attributes will result in an area chart. - For multiple cohorts each category combination will have an area representing one cohort. -

-
-
- - - {/* Prevalence */} -
-
-

Estimate the Prevalence

-
-
-
-
-

- Prevalence is the proportion of items with a certain characteristic in a cohort. An exmaple would be the proportion of patients with a gene mutation among female Asian patients with NSCLC. - Coral provides a dedicated analysis view to assess prevalence estimates. After selecting the sample cohort with items that have the characteristic of interest, - the user can flexibly define the reference cohort by applying or skipping Filter & Split operations used to create the sample cohort. - The cohorts’ sizes and the resulting prevalences are then displayed in a bar chart. -

-
-
- - - {/* Compare (TourDino) */} -
-
-

Perform Basic Statistical Analyses

-
-
-
-
-

- Seeking relationships and patterns in tabular data is a common data exploration task. To confirm hypotheses that are based on visual patterns observed during exploratory data analysis, - users need to be able to quickly compare data subsets, and get further information on the significance of the result and the statistical test applied.

-

- The Comparison operation enables users who are not experts in statistics to verify generated hypotheses and confirm insights gained during the exploration of tabular data. - Concretely, it presents an overview of the statistical significance of various cohort comparisons. On demand, it shows further details, including the test score, a textual description, and a detail visualization explaining the results. -

-
-
- - - {/* Inspect (Taggle/LineUp) */} -
-
-

Inspect the Items in a Cohort

-
-
-
-
-

- Coral uses the tabular visualization technique LineUp for visualizing the items of the cohorts. - This makes it possible to identify outliers or to assess single data points. -
- Attributes can be selected to display their data in the table, and sort, filter, and group the data. -

-
-
-
- -
-
- - ); -} diff --git a/src/pages/HelpPage.tsx b/src/pages/HelpPage.tsx deleted file mode 100644 index 71f3932..0000000 --- a/src/pages/HelpPage.tsx +++ /dev/null @@ -1,22 +0,0 @@ - -import * as React from 'react'; -import {HeaderNavigation, OrdinoFooter} from 'ordino'; -import {DevelopedByAffiliations} from './components/DevelopedByAffiliations'; -import {CoralHelpSection} from './components/CoralHelpSection'; -import {useScrollToSlug} from 'ordino'; - -export function HelpPage() { - useScrollToSlug(); - - return ( - <> - -
- - - - -
- - ); -} diff --git a/src/pages/HomePage.tsx b/src/pages/HomePage.tsx deleted file mode 100644 index 5b2fcd5..0000000 --- a/src/pages/HomePage.tsx +++ /dev/null @@ -1,22 +0,0 @@ -import * as React from 'react'; -import {OrdinoFooter} from 'ordino'; -import {CoralHero} from './components/CoralHero'; -import {DevelopedByAffiliations} from './components/DevelopedByAffiliations'; -import {CoralTeaserCards} from './components/CoralTeaserCards'; -import {GettingStarted} from './components/GettingStarted'; - -export function HomePage() { - - return ( - <> - -
- -
- -
- - - - ); -} diff --git a/src/pages/NewsPage.tsx b/src/pages/NewsPage.tsx deleted file mode 100644 index 8cb9605..0000000 --- a/src/pages/NewsPage.tsx +++ /dev/null @@ -1,94 +0,0 @@ -import * as React from 'react'; -import {HeaderNavigation, OrdinoFooter, OrdinoScrollspy, OrdinoScrollspyItem, useScrollToSlug} from 'ordino'; -import {Link} from 'react-router-dom'; -import confetti from 'canvas-confetti'; - -import coralHero from '../assets/coral-hero.png'; -import {hasCookie} from '../util'; - -const sections = [ - { - id: 'v1-0', - name: 'Version 1.0', - date: '2021-11-11', - markup: () => ( - <> -

Hello Coral! 🐣

- -

- This is the first release of Coral. - Coral is a cohort analysis tool to interactively create and refine cohorts, which can then be compared, characterized, and inspected down to the level of single items. -

- - Screenshot of an analysis in Coral. - -

- Coral comes with this dedicated homepage to welcome new users, providing an overview of the features, available datasets, and publications. - For an overview of Coral's features, we also provide an introductory video to get to know Coral. -

- -

- In the future, we will also present the most recent changes and developments here.
- You can skip this welcome page and start the analysis in Coral directly, by going to the /app subsite. -

- - ) - } -]; - - - -export function NewsPage() { - useScrollToSlug(); - - React.useEffect(() => { - const celebrationCookieKey = sections[0]?.id + '_celebrated'; - if (!hasCookie(celebrationCookieKey)) { - document.cookie = `${celebrationCookieKey}=true; SameSite=Lax;`; - - // only celebrate recent releases - const timeDiff = new Date().getTime() - new Date(sections[0].date).getTime(); - const maxTimeDiff = 2 * 7 * 24 * 60 * 60 * 1000; // two weeks in millis - if (timeDiff < maxTimeDiff) { - confetti({particleCount: 150, spread: 100, origin: {x: 0.2, y: 0.7}, angle: 45}); - confetti({particleCount: 150, spread: 100, origin: {x: 0.7, y: 0.7}, angle: 135}); - } - } - }, []); - - return ( - <> - -
- ({id: section.id, name: section.name}))}> - {(handleOnChange) => - <> -
-
-
- {sections.map((item, index) => { - return ( - // `id` attribute must match the one in the scrollspy - - <> -

{item.name} ({item.date})

-
-
- {item.markup()} -
-
- -
- ); - })} -
-
-
- - - } -
-
- - ); -} diff --git a/src/pages/PublicationPage.tsx b/src/pages/PublicationPage.tsx deleted file mode 100644 index 98446bf..0000000 --- a/src/pages/PublicationPage.tsx +++ /dev/null @@ -1,196 +0,0 @@ -import * as React from 'react'; -import {HeaderNavigation, OrdinoFooter, OrdinoScrollspy, OrdinoScrollspyItem} from 'ordino'; - -function CoralPublication() { - return
-
-
- -
Abstract
-

- A main task in computational cancer analysis is the identification of patient subgroups (i.e., cohorts) based on metadata attributes (patient stratification) or genomic markers of response (biomarkers). Coral is a web-based cohort analysis tool that is designed to support this task: Users can interactively create and refine cohorts, which can then be compared, characterized, and inspected down to the level of single items. We visualize the evolution of cohorts and also provide intuitive access to prevalence information. Coral can be utilized to explore any type of cohort and sample set. Here, we focus on the analysis of genomic data from cancer patients and therefore included in the public version data from the AACR Project GENIE, The Cancer Genome Atlas, and the Cell Line Encyclopedia. -

- -
Citation
-

- Patrick Adelberger, Klaus Eckelt, Markus J. Bauer, Marc Streit, Christian Haslinger, Thomas Zichner.
- Coral: a web-based visual analysis tool for creating and characterizing cohorts.
- Bioinformatics, doi:10.1093/bioinformatics/btab695, 2021. -

-
- -
-
; -} - -function OrdinoPublication() { - return
-
-
- - -
Abstract
-

- Ordino is a web-based analysis tool for cancer genomics that allows users to flexibly rank, - filter and explore genes, cell lines and tissue samples based on pre-loaded data, - including The Cancer Genome Atlas, the Cancer Cell Line Encyclopedia and manually - uploaded information. Interactive tabular data visualization that facilitates the - user-driven prioritization process forms a core component of Ordino. Detail views - of selected items complement the exploration. Findings can be stored, shared and - reproduced via the integrated session management. -

- -
Citation
-

- Marc Streit, Samuel Gratzl, Holger Stitz, Andreas Wernitznig, Thomas Zichner, Christian Haslinger.
- Ordino: visual analysis tool for ranking and exploring genes, cell lines, and tissue samples.
- Bioinformatics, 35(17): 3140-3142, 2019. -

-
- -
-
; -} - -function TourdinoPublication() { - return
-
-
- - -
Abstract
-

- Seeking relationships and patterns in tabular data is a common data exploration task. - To confirm hypotheses that are based on visual patterns observed during exploratory data analysis, - users need to be able to quickly compare data subsets, and get further information on the significance of the result and the statistical test applied. - Existing tools, however, either focus on the comparison of a single data type, such as comparing numerical attributes only, or provide little or no statistical evaluation to assess a hypothesis. To fill this gap, - we present TourDino, a support view that helps users who are not experts in statistics to verify generated hypotheses and confirm insights gained during the exploration of tabular data. - In TourDino we present an overview of the statistical significance of various row or column comparisons. On demand, we show further details, including the test score, a textual description, and a detail visualization explaining the results. - To demonstrate the efficacy of our approach, we have integrated TourDino in the Ordino drug discovery platform for the purpose of identifying new drug targets. -

- -
Citation
-

- Klaus Eckelt, Patrick Adelberger, Thomas Zichner, Andreas Wernitznig, Marc Streit.
- TourDino: A Support View for Confirming Patterns in Tabular Data.
- EuroVis Workshop on Visual Analytics (EuroVA '19), 2019. -

-
- -
-
; -} - -function TagglePublication() { - return
-
-
- - -
Abstract
-

- Most tabular data visualization techniques focus on overviews, yet many practical analysis tasks are concerned with investigating individual items of interest. - At the same time, relating an item to the rest of a potentially large table is important. In this work we present Taggle, a tabular visualization technique for exploring and presenting large and complex tables. Taggle takes an item-centric, spreadsheet-like approach, visualizing each row in the source data individually using visual encodings for the cells. At the same time, Taggle introduces data-driven aggregation of data subsets. The aggregation strategy is complemented by interaction methods tailored to answer specific analysis questions, such as sorting based on multiple columns and rich data selection and filtering capabilities. - We demonstrate Taggle using a case study conducted by a domain expert on complex genomics data analysis for the purpose of drug discovery. -

- -
Citation
-

- Katarina Furmanova, Samuel Gratzl, Holger Stitz, Thomas Zichner, Miroslava Jaresova, Martin Ennemoser, Alexander Lex, Marc Streit.
- Taggle: Combining Overview and Details in Tabular Data Visualizations.
- Information Visualization, 19(2): 114-136, 2019. -

-
- -
-
; -} - -const publications = [ - { - id: 'coral-publication', - name: 'Coral', - icon: 'fas fa-book-open', - factory: () => - - }, - { - id: 'ordino-publication', - name: 'Ordino', - icon: 'fas fa-book-open', - factory: () => - - }, - { - id: 'tourdino-publication', - name: 'TourDino', - icon: 'fas fa-book-open', - factory: () => - - }, - { - id: 'taggle-publication', - name: 'Taggle', - icon: 'fas fa-book-open', - factory: () => - }, -]; - - -export function PublicationPage() { - return ( - <> - -
- ({id: publication.id, name: publication.name}))}> - {(handleOnChange) => - <> -
-
-
-

- Coral and its components have been described in the following scientific publications.
- Please cite at least the first article when using Coral and publishing your results. -

-
-
-
-
- {publications.map((item, index) => { - return ( - // `id` attribute must match the one in the scrollspy - - <> -
{item.name}
- - -
- ); - })} -
-
-
- - - } -
-
- - ); -} diff --git a/src/pages/components/CoralContactForm.tsx b/src/pages/components/CoralContactForm.tsx deleted file mode 100644 index 9606798..0000000 --- a/src/pages/components/CoralContactForm.tsx +++ /dev/null @@ -1,56 +0,0 @@ -import * as React from 'react'; - -const CONTACT_FORM_EMAIL = 'coral@caleydo.org'; - -export function CoralContactForm() { - const handleSubmit = React.useCallback((event: React.SyntheticEvent) => { - event.preventDefault(); - const form = event.currentTarget as HTMLFormElement; - const data = new FormData(form); - const subject = data.get('subject').toString(); - const message = data.get('message').toString(); - let parameters = subject || message ? '?' : ''; - if (subject) { - parameters += `subject=${encodeURIComponent(subject)}`; - } - if (message) { - parameters += `${subject ? '&' : ''}body=${encodeURIComponent(message)}`; - } - form.reset(); - window.location.href = 'mailto:' + CONTACT_FORM_EMAIL + parameters; - }, []); - - return ( -
-
-

- {'Do you have questions or found a bug, do not hesitate to contact us using the contact form below. You can also contact us by writing an email to '} - coral@caleydo.org. We are glad to help you. -

-
-
- - -
- -
- - -
- -
-
- -
-
-
-
-
- ); -} diff --git a/src/pages/components/CoralHelpSection.tsx b/src/pages/components/CoralHelpSection.tsx deleted file mode 100644 index a0035ae..0000000 --- a/src/pages/components/CoralHelpSection.tsx +++ /dev/null @@ -1,80 +0,0 @@ -import React from 'react'; -import {DisclaimerCard} from './DisclaimerCard'; -import {CoralContactForm} from './CoralContactForm'; -import {OrdinoScrollspy, OrdinoScrollspyItem} from 'ordino'; -import {VideoCard, IVideoCardProps} from './VideoCard'; -import {TermsOfUseCard} from './TermsOfUseCard'; -import {SourceCodeCard} from './SourceCodeCard'; - -const cards = [ - { - id: 'coral-at-a-glance', - name: 'Coral at a Glance', - icon: 'fas fa-eye', - factory: (props: IVideoCardProps) => - }, - { - id: 'contact-us', - name: 'Contact us', - icon: 'fas fa-at', - factory: () => - - }, - { - id: 'disclaimer', - name: 'Disclaimer', - icon: 'fas fa-exclamation-triangle', - factory: () => - - }, - { - id: 'terms-of-use', - name: 'Terms of use', - icon: 'fas fa-user-tie', - factory: () => - }, - { - id: 'source-code-licenses', - name: 'Source code', - icon: 'fas fa-code', - factory: () => - }, -]; - - -interface ICoralHelpSectionProps { - /** - * Whether to open the links to other pages in a new tab - */ - openInNewWindow?: boolean; - children?: React.ReactNode; -} - -export function CoralHelpSection(props: ICoralHelpSectionProps) { - return (<> - ({id: item.id, name: item.name}))}> - {(handleOnChange) => - <> -
-
-
- {cards.map((item, index) => { - return ( - // `id` attribute must match the one in the scrollspy - - <> -

{item.name}

- - -
- ); - })} -
-
-
- {props.children} - - } -
- ); -} diff --git a/src/pages/components/CoralHero.tsx b/src/pages/components/CoralHero.tsx deleted file mode 100644 index c827a91..0000000 --- a/src/pages/components/CoralHero.tsx +++ /dev/null @@ -1,68 +0,0 @@ -import * as React from 'react'; -import {Link} from 'react-router-dom'; -import ordinoHero from '../../assets/coral-hero.png'; -import {HeaderNavigation} from 'ordino'; - -const INTRO_VIDEO_MODAL_ID = 'coral-intro-video-modal'; - -export function CoralHero() { - const [modalIsClosed, setModalIsClosed] = React.useState(true); - const videoRef = React.useRef(null); - - const handleCloseModal = (event: React.MouseEvent) => { - const target = (event.target as HTMLElement); - // backdrop === modal node - if (target.id === INTRO_VIDEO_MODAL_ID) { - setModalIsClosed(true); - } - }; - - return ( - <> -
- -
-
-
-

Coral is a cohort analysis tool to interactively create and refine patient cohorts,
while visualizing their provenance in the Cohort Evolution Graph. The resulting cohorts can then
be compared, characterized, and inspected down to the level of single entities.

-
-
-
-
- -
-
- - - Learn more about Coral - -
-
-
-
- Screenshot of an analysis with Coral -
-
-
-
- - - ); -} diff --git a/src/pages/components/CoralTeaserCards.tsx b/src/pages/components/CoralTeaserCards.tsx deleted file mode 100644 index 6dc64d6..0000000 --- a/src/pages/components/CoralTeaserCards.tsx +++ /dev/null @@ -1,45 +0,0 @@ -import * as React from 'react'; -import {Link} from 'react-router-dom'; - -export function CoralTeaserCards() { - return ( -
-
-
-

What's new?

-
-
-

- 🎉 It's the 2-year anniversary of Coral and we're happy to launch Coral v1.0! 🚀 -

-

- This websites introduces Coral's features, the available datasets, and publications. - We also provide an introductory video to get to know Coral. -

-

- In the upcoming releases, we will focus improving the usability and interactions with Coral. -

-
-
Read the release notes
-
-
-
-

Publication

-
-
-

- Coral and its components have been published in multiple scientific articles. Please cite the following article when using Coral and publishing your results. -

-

- Patrick Adelberger, Klaus Eckelt, Markus J. Bauer, Marc Streit, Christian Haslinger, Thomas Zichner.
- Coral: a web-based visual analysis tool for creating and characterizing cohorts.
- Bioinformatics, doi:10.1093/bioinformatics/btab695, 2021. -

-
-
List of all publications
-
-
-
-
- ); -} diff --git a/src/pages/components/DevelopedByAffiliations.tsx b/src/pages/components/DevelopedByAffiliations.tsx deleted file mode 100644 index 32c2bb5..0000000 --- a/src/pages/components/DevelopedByAffiliations.tsx +++ /dev/null @@ -1,27 +0,0 @@ -import * as React from 'react'; -import logoBI from '../../assets/logos/boehringer-ingelheim.svg'; -import logoLab from '../../assets/logos/jku-vds-lab-logo.png'; -import logoDatavisyn from '../../assets/logos/datavisyn.svg'; - -export function DevelopedByAffiliations() { - return ( -
-
-
-

Coral is developed by

-
-
-
-
- JKU Visual Data Science Lab -
-
- Boehringer Ingelheim -
-
- datavisyn -
-
-
- ); -} diff --git a/src/pages/components/DisclaimerCard.tsx b/src/pages/components/DisclaimerCard.tsx deleted file mode 100644 index 40e1fb8..0000000 --- a/src/pages/components/DisclaimerCard.tsx +++ /dev/null @@ -1,15 +0,0 @@ -import * as React from 'react'; - -export function DisclaimerCard() { - return ( -
-
-

- {/*

*/} - Disclaimer: This software is for research purposes and non-commercial use only. - {/*
*/} -

-
-
- ); -} diff --git a/src/pages/components/FeatureCard.tsx b/src/pages/components/FeatureCard.tsx deleted file mode 100644 index 7bec53d..0000000 --- a/src/pages/components/FeatureCard.tsx +++ /dev/null @@ -1,41 +0,0 @@ -import * as React from 'react'; - -interface IFeatureCardProps { - image?: { - file: string; - altText: string; - }; - title: string; - config: { - numbAttr: number; - attribute: string; - }; - /** - * Add card text as children - */ - children?: React.ReactNode; -} - -export function FeatureCard({image, title, config, children}: IFeatureCardProps) { - let htmlImage: React.ReactNode = ''; - // only assigning an image element, if image is not null - if(image) { - htmlImage = {image.altText}; - } - return ( -
-
-
-
{title}
-

- Number of Attribtues: {config.numbAttr} -
- Type of Attribtues: {config.attribute} -

- {htmlImage} - {children} -
-
-
- ); -} diff --git a/src/pages/components/GettingStarted.tsx b/src/pages/components/GettingStarted.tsx deleted file mode 100644 index b369d6d..0000000 --- a/src/pages/components/GettingStarted.tsx +++ /dev/null @@ -1,53 +0,0 @@ -import * as React from 'react'; - -export function GettingStarted() { - return ( -
-
-
-

Getting Started

-
-

- The workflow of Coral consists of two steps: creating cohorts, and characterizing them. - Operations from these two categories are carried out in an iterative workflow. -

-
-
-
-
    -
  • -

    Cohort Creation

    -

    - An initial cohort that contains all items of the selected dataset is created automatically. - Creation operations allow users to create new sub-cohorts based on different attributes and attribute combinations. - Cohorts are refined with the Filter operation, or divided into multiple cohorts with the Split operation. -

    -
  • -
  • -

    Cohort Characterization

    -

    - Characterization operations give insights into the cohorts. - Similarities and differences between cohorts can be checked visually with the View operation, and statistically with the Compare operation. - Additional operations give access to prevalence information and the data of individual items. -

    -
  • - { - /* -
  • -

    Cohort Tracking

    -

    - In the top half of the application, a graph presents how the cohorts were generated as well as their relationships. - Coral also assigns a color to each selected cohort that is used throughout the application to visualize the cohort's data. -

    -
  • - */ - } -
-
- -
-
- ); -} diff --git a/src/pages/components/SourceCodeCard.tsx b/src/pages/components/SourceCodeCard.tsx deleted file mode 100644 index 428c515..0000000 --- a/src/pages/components/SourceCodeCard.tsx +++ /dev/null @@ -1,27 +0,0 @@ -import {useAsync} from 'tdp_core'; -import {AppMetaDataUtils} from 'tdp_core'; -import React from 'react'; - -export function SourceCodeCard() { - const loadMetaData = React.useMemo(() => () => AppMetaDataUtils.getMetaData(), []); - const {status, value} = useAsync(loadMetaData); - - return ( - <> -
-
-

- The source code of Coral is released at GitHub. -

-

- This application is part of Phovea, a platform for developing - web-based visualization applications. For tutorials, API docs, and - more information about the build and deployment process, see the - documentation page. -

-

Version: {(status === 'success') ? value.version : 'Fetching current version ...'}

-
-
- - ); -} diff --git a/src/pages/components/TermsOfUseCard.tsx b/src/pages/components/TermsOfUseCard.tsx deleted file mode 100644 index 906af61..0000000 --- a/src/pages/components/TermsOfUseCard.tsx +++ /dev/null @@ -1,64 +0,0 @@ -import React from 'react'; - -export function TermsOfUseCard() { - return ( -
-
-
-
- This instance of Coral is intended for scientific research and - non-commercial use only. -
-
- Coral cannot be used for the provision of medical advice. -
-
- We expect attribution (e.g. in publications, services or products) - for any of Coral's online services, databases or software in - accordance with good scientific practice. -
-
- Coral provides data collated from the public domain with references - to their sources. We cannot guarantee the accuracy of any data or - databases nor their suitability for user purposes. -
-
- The original data in Coral may be subject to rights claimed by - third parties, including but not limited to, patent, copyright, - other intellectual property rights, biodiversity-related access and - benefit-sharing rights. It is the responsibility of users of Coral - to ensure that their exploitation of the data does not infringe any - of the rights of such third parties. -
-
- We are not liable to you or third parties claiming through you, for - any loss or damage. -
-
- We do not accept responsibility for the consequences of any breach - of the confidentiality of the Coral Site by third parties. -
-
- We accept no responsibility for the consequences of any temporary or - permanent discontinuity in service of this Site. -
-
- Users of Coral agree not to attempt to use any Coral computers, - files or networks apart from through the service interfaces - provided. -
-
- Any attempt to use Coral to a level that prevents, or looks likely - to prevent, Coral providing services to others, will result in the - use being blocked. -
-
- Any feedback on Coral will be treated as non-confidential unless - the individual or organization providing the feedback states - otherwise. -
-
-
-
- ); -} diff --git a/src/pages/components/VideoCard.tsx b/src/pages/components/VideoCard.tsx deleted file mode 100644 index c7165e5..0000000 --- a/src/pages/components/VideoCard.tsx +++ /dev/null @@ -1,86 +0,0 @@ -import * as React from 'react'; -import {Link} from 'react-router-dom'; - -export interface IVideoCardProps { - openInNewWindow?: boolean; -} - -export function VideoCard({openInNewWindow}: IVideoCardProps) { - - const newWindowProps = openInNewWindow ? { - target: '_blank', - rel: 'noopener noreferrer' - } : {}; - - return ( -
- -
-

- Coral is a cohort analysis tool to interactively create and refine patient cohorts, - while visualizing their provenance in the Cohort Evolution Graph.
- The resulting cohorts can then be compared, characterized, and inspected down to the level of single entities. -

- - -
- Workflow and Features -
-

- The workflow of Coral consists of two steps: creating cohorts, and characterizing them. - Operations from these two categories are carried out in an iterative workflow.
- Creation operations allow users to create new sub-cohorts based on different attributes and attribute combinations. - Characterization operations give insights into the cohorts. -

-

- You can find more details on Coral's workflow and features in the Features section. -

- -
- Datasets -
-

- Coral's database contains metadata as well as mutation data from the AACR Project GENIE, - mRNA expression, DNA copy number, and mutation data from The Cancer Genome Atlas (TCGA) and the Cell Line Encyclopedia (CCLE). - Furthermore, two CRISPR / RNAi loss-of-function screen data sets (DRIVE and Avana) are included. -

-

- You can find more detailed information about the datasets here. -

- -
- Publications -
-

- Coral and its components have been described in the following scientific publications. -

-

- Patrick Adelberger, Klaus Eckelt, Markus J. Bauer, Marc Streit, Christian Haslinger, Thomas Zichner.
- Coral: a web-based visual analysis tool for creating and characterizing cohorts.
- Bioinformatics, doi:10.1093/bioinformatics/btab695, 2021. -

-

- Marc Streit, Samuel Gratzl, Holger Stitz, Andreas Wernitznig, Thomas Zichner, Christian Haslinger.
- Ordino: visual analysis tool for ranking and exploring genes, cell lines, and tissue samples.
- Bioinformatics, 35(17): 3140-3142, 2019. -

-

- Klaus Eckelt, Patrick Adelberger, Thomas Zichner, Andreas Wernitznig, Marc Streit.
- TourDino: A Support View for Confirming Patterns in Tabular Data.
- EuroVis Workshop on Visual Analytics (EuroVA '19), 2019. -

-

- Katarina Furmanova, Samuel Gratzl, Holger Stitz, Thomas Zichner, Miroslava Jaresova, Martin Ennemoser, Alexander Lex, Marc Streit.
- Taggle: Combining Overview and Details in Tabular Data Visualizations.
- Information Visualization, 19(2): 114-136, 2019. -

-

- Please cite the first article when using Coral and publishing your results. -

-

- You can find more information about the publications here. -

-
-
- ); -} diff --git a/src/pages/components/index.ts b/src/pages/components/index.ts deleted file mode 100644 index b22ef5e..0000000 --- a/src/pages/components/index.ts +++ /dev/null @@ -1,7 +0,0 @@ -export * from './DevelopedByAffiliations'; -export * from './DisclaimerCard'; -export * from './GettingStarted'; -export * from './CoralContactForm'; -export * from './CoralHelpSection'; -export * from './CoralTeaserCards'; -export * from './CoralHero'; diff --git a/src/pages/index.ts b/src/pages/index.ts deleted file mode 100644 index 5e5fd0f..0000000 --- a/src/pages/index.ts +++ /dev/null @@ -1,7 +0,0 @@ -export * from './DatasetsPage'; -export * from './FeaturesPage'; -export * from './Error404Page'; -export * from './HelpPage'; -export * from './HomePage'; -export * from './NewsPage'; -export * from './PublicationPage'; diff --git a/src/phovea.ts b/src/phovea.ts index 8e9513f..9662350 100644 --- a/src/phovea.ts +++ b/src/phovea.ts @@ -3,13 +3,9 @@ * Copyright (c) The Caleydo Team. All rights reserved. * Licensed under the new BSD license, available at http://caleydo.org/license **************************************************************************** */ -import {IRegistry, PluginRegistry} from 'tdp_core'; -import {EP_ORDINO_HEADER_MENU, EP_ORDINO_FOOTER_MENU, EP_ORDINO_START_MENU_TAB, EP_ORDINO_LOGO, EStartMenuSection, EP_ORDINO_START_MENU_TAB_SHORTCUT, IOrdinoFooterMenuDesc, IOrdinoLogoDesc, IOrdinoHeaderMenuDesc,IStartMenuTabShortcutDesc} from 'ordino'; -import {EXTENSION_POINT_CUSTOMIZED_LOGIN_FORM} from 'tdp_core'; +import {IRegistry} from 'tdp_core'; export default function (registry: IRegistry) { - // Coral's custom login form - registry.push(EXTENSION_POINT_CUSTOMIZED_LOGIN_FORM, 'tdpBioinfoLoginForm', () => import('./LoginDialog'), {}); // helper functions copied from tdp_core: // ------------------------------------------------------------------------------------------------------- @@ -59,119 +55,4 @@ export default function (registry: IRegistry) { action: 'removeOverviewCohortAction' // --> function to create an action in the prov tree } }); - - - // Welcome Page: - // ------------------------------------------------------------------------------------------------------- - - registry.push(EP_ORDINO_START_MENU_TAB, 'ordino_dataset_tab', () => import('ordino/dist/internal/menu/tabs/DatasetsTab'), { - text: 'Datasets', - menu: EStartMenuSection.MAIN, - priority: 10 - }); - - registry.push(EP_ORDINO_START_MENU_TAB, 'ordino_sessions_tab', () => import('ordino/dist/internal/menu/tabs/SessionsTab'), { - text: 'Analysis Sessions', - menu: EStartMenuSection.MAIN, - priority: 20 - }); - - registry.push(EP_ORDINO_START_MENU_TAB_SHORTCUT, 'ordino_sessions_shortcut', () => ({}), { - text: 'Current Analysis Session', - icon: 'fas fa-history', - tabId: 'ordino_sessions_tab', - setHighlight: true, - priority: 10, - }); - - registry.push(EP_ORDINO_START_MENU_TAB, 'ordino_help_tab', () => import('./menu/HelpTab'), { - icon: 'fas fa-question-circle fa-fw', - menu: EStartMenuSection.RIGHT, - }); - - registry.push(EP_ORDINO_HEADER_MENU, 'ordino_header_menu', () => ({}), { - links: [ - { - faIcon: 'fas fa-newspaper fa-fw', - text: 'What\'s new?', - page: '/news' - }, - { - faIcon: 'fas fa-list fa-fw', - text: 'Features', - page: '/features' - }, - { - faIcon: 'fas fa-database fa-fw', - text: 'Datasets', - page: '/datasets' - }, - { - faIcon: 'fas fa-question-circle fa-fw', - text: 'Help', - page: '/help' - } - ] - }); - - registry.push(EP_ORDINO_FOOTER_MENU, 'ordino_footer_menu', () => ({}), { - lists: [ - [ - - { - page: '/news', - faIcon: 'fas fa-fw fa-newspaper', - text: `What's new?`, - }, - { - page: '/features', - faIcon: 'fas fa-fw fa-list', - text: `Features`, - }, - { - page: '/datasets', - faIcon: 'fas fa-fw fa-database', - text: `Loaded datasets`, - }, - { - page: '/publications', - faIcon: 'fas fa-fw fa-book-open', - text: `Publications`, - } - ], - [ - { - page: '/help/coral-at-a-glance', - faIcon: 'fas fa-fw fa-eye', - text: `Coral at a Glance`, - }, - { - page: '/help/contact-us', - faIcon: 'fas fa-fw fa-at', - text: `Contact us`, - }, - { - page: '/help/disclaimer', - faIcon: 'fas fa-fw fa-exclamation-triangle', - text: `Disclaimer`, - }, - { - page: '/help/terms-of-use', - faIcon: 'fas fa-fw fa-user-tie', - text: `Terms of use`, - }, - { - page: '/help/source-code-licenses', - faIcon: 'fas fa-fw fa-code', - text: `Source code & licenses`, - }, - ] - ] - }); - - registry.push(EP_ORDINO_LOGO, 'coral_logo', () => import('coral/dist/assets/favicon.svg').then(PluginRegistry.getInstance().asResource), { - text: 'Coral', - width: 24, - height: 24 - }); } diff --git a/src/scss/main.scss b/src/scss/main.scss index 3274ff5..a2c378f 100644 --- a/src/scss/main.scss +++ b/src/scss/main.scss @@ -5,8 +5,6 @@ @import './base/base'; @import './vendors/tippy'; - -@import './pages/main.scss'; @import './components/StartMenu.scss'; @import './components/taskview'; diff --git a/src/scss/pages/FeaturesPage.scss b/src/scss/pages/FeaturesPage.scss deleted file mode 100644 index c613db9..0000000 --- a/src/scss/pages/FeaturesPage.scss +++ /dev/null @@ -1,115 +0,0 @@ -.workflow-carousel { - .carousel.carousel-fade { - opacity: 1; - } - .carousel.carousel-fade .carousel-item { - transition: opacity ease-out .7s; - left: 0; - opacity: 0; /* hide all slides */ - top: 0; - position: absolute; - width: 100%; - display: block; - } - .carousel.carousel-fade .carousel-item:first-child { - top: auto; - position: relative; - } - .carousel.carousel-fade .carousel-item.active { - opacity: 1; - } - - .carousel-inner { - .carousel-item { - padding: 5px; //padding to see images box shadow (see below) - position: relative; - - img, object, svg { - position: relative; - top: 0; - width: 80%; //not 100% to move the next/previous controls out of the img - margin: auto; // center image - - box-shadow: 3px 3px 6px 3px $color-shadow; // image pops out of page - - &:not(:first-child) { - position: absolute; - box-shadow: unset; // first image's shadow is stil there - - // keep parents padding - top: 5px; - left: calc(10% + 5px); - right: calc(10% + 5px); - width: unset; // specified from left & right offset - - //animation - opacity:0; - animation: 1s forwards fadein; - animation-delay: 2s; - animation-play-state: paused; // dont start animation until slide is active - } - } - - &.active { - img, object, svg { - &:not(:first-child) { - animation-play-state: running; - } - } - } - - &.videoWrapper { - padding-bottom: 56.25%; /* 16:9 */ - height: 0; - - iframe { - position: absolute; - top: 0; - left: 10%; - width: 80%; - height: 80%; - } - } - } - - .carousel-caption { - // bootstrap's default color is white - color: $color-text; - text-shadow: unset; - - // // moveσ caption below image - // // position: relative; - // // left: auto; - // // right: auto; - } - } - - .carousel-indicators { - bottom: -2.5em; - - li{ - // Image indicators would be white and rectangular shaped by default - border: 1px solid #2f353a; - border-radius: 50%; - width: 12px; - height: 12px; - - &.active { - background-color: #2f353a; - } - } - } - - .carousel-control-prev { - left: $carousel-control-width * -0.2; - } - - .carousel-control-next { - right: $carousel-control-width * -0.2; - } - } - - @keyframes fadein { - 0% { opacity: 0; } - 100% { opacity: 1; } - } \ No newline at end of file diff --git a/src/scss/pages/HomePage.scss b/src/scss/pages/HomePage.scss deleted file mode 100644 index 0dbd5f3..0000000 --- a/src/scss/pages/HomePage.scss +++ /dev/null @@ -1,3 +0,0 @@ -.ordino-getting-started-wrapper { - background: $white; -} diff --git a/src/scss/pages/abstracts/_variables.scss b/src/scss/pages/abstracts/_variables.scss deleted file mode 100644 index e69de29..0000000 diff --git a/src/scss/pages/base/_base.scss b/src/scss/pages/base/_base.scss deleted file mode 100644 index de95ea4..0000000 --- a/src/scss/pages/base/_base.scss +++ /dev/null @@ -1,17 +0,0 @@ -// keep the footer at the bottom -// @see https://moderncss.dev/keep-the-footer-at-the-bottom-flexbox-vs-grid/ -#welcome { - min-height: 100vh; - display: grid; - grid-template-rows: auto 1fr auto; - background-color: $gray-100; - color: $gray-800; - - #loading-welcome { - grid-row: 1/3; - display: flex; - justify-content: center; - align-items: center; - font-size: 1.5rem; - } -} diff --git a/src/scss/pages/components/CoralHero.scss b/src/scss/pages/components/CoralHero.scss deleted file mode 100644 index 6e2b597..0000000 --- a/src/scss/pages/components/CoralHero.scss +++ /dev/null @@ -1,75 +0,0 @@ -.coral-hero { - background-color: $gray-800; - // background pattern from https://app.haikei.app/ > stacked waves - // encoded for background-image url with https://yoksel.github.io/url-encoder/ - background-image: url("data:image/svg+xml,%3Csvg viewBox='0 0 1900 720' width='1900' height='720' xmlns='http://www.w3.org/2000/svg' xmlns:xlink='http://www.w3.org/1999/xlink' version='1.1'%3E%3Cpath d='M0 64L28.8 71C57.7 78 115.3 92 172.8 94.3C230.3 96.7 287.7 87.3 345.2 79.2C402.7 71 460.3 64 518 68.7C575.7 73.3 633.3 89.7 691 92C748.7 94.3 806.3 82.7 863.8 82.7C921.3 82.7 978.7 94.3 1036.2 97.8C1093.7 101.3 1151.3 96.7 1209 88.5C1266.7 80.3 1324.3 68.7 1382 64C1439.7 59.3 1497.3 61.7 1554.8 61.7C1612.3 61.7 1669.7 59.3 1727.2 65.2C1784.7 71 1842.3 85 1871.2 92L1900 99L1900 0L1871.2 0C1842.3 0 1784.7 0 1727.2 0C1669.7 0 1612.3 0 1554.8 0C1497.3 0 1439.7 0 1382 0C1324.3 0 1266.7 0 1209 0C1151.3 0 1093.7 0 1036.2 0C978.7 0 921.3 0 863.8 0C806.3 0 748.7 0 691 0C633.3 0 575.7 0 518 0C460.3 0 402.7 0 345.2 0C287.7 0 230.3 0 172.8 0C115.3 0 57.7 0 28.8 0L0 0Z' fill='%23006192'%3E%3C/path%3E%3Cpath d='M0 92L28.8 103.7C57.7 115.3 115.3 138.7 172.8 144.5C230.3 150.3 287.7 138.7 345.2 127C402.7 115.3 460.3 103.7 518 110.7C575.7 117.7 633.3 143.3 691 146.8C748.7 150.3 806.3 131.7 863.8 131.7C921.3 131.7 978.7 150.3 1036.2 156.2C1093.7 162 1151.3 155 1209 145.7C1266.7 136.3 1324.3 124.7 1382 117.7C1439.7 110.7 1497.3 108.3 1554.8 109.5C1612.3 110.7 1669.7 115.3 1727.2 122.3C1784.7 129.3 1842.3 138.7 1871.2 143.3L1900 148L1900 97L1871.2 90C1842.3 83 1784.7 69 1727.2 63.2C1669.7 57.3 1612.3 59.7 1554.8 59.7C1497.3 59.7 1439.7 57.3 1382 62C1324.3 66.7 1266.7 78.3 1209 86.5C1151.3 94.7 1093.7 99.3 1036.2 95.8C978.7 92.3 921.3 80.7 863.8 80.7C806.3 80.7 748.7 92.3 691 90C633.3 87.7 575.7 71.3 518 66.7C460.3 62 402.7 69 345.2 77.2C287.7 85.3 230.3 94.7 172.8 92.3C115.3 90 57.7 76 28.8 69L0 62Z' fill='%23006ca4'%3E%3C/path%3E%3Cpath d='M0 141L28.8 158.5C57.7 176 115.3 211 172.8 222.7C230.3 234.3 287.7 222.7 345.2 204C402.7 185.3 460.3 159.7 518 159.7C575.7 159.7 633.3 185.3 691 190C748.7 194.7 806.3 178.3 863.8 178.3C921.3 178.3 978.7 194.7 1036.2 201.7C1093.7 208.7 1151.3 206.3 1209 201.7C1266.7 197 1324.3 190 1382 186.5C1439.7 183 1497.3 183 1554.8 185.3C1612.3 187.7 1669.7 192.3 1727.2 197C1784.7 201.7 1842.3 206.3 1871.2 208.7L1900 211L1900 146L1871.2 141.3C1842.3 136.7 1784.7 127.3 1727.2 120.3C1669.7 113.3 1612.3 108.7 1554.8 107.5C1497.3 106.3 1439.7 108.7 1382 115.7C1324.3 122.7 1266.7 134.3 1209 143.7C1151.3 153 1093.7 160 1036.2 154.2C978.7 148.3 921.3 129.7 863.8 129.7C806.3 129.7 748.7 148.3 691 144.8C633.3 141.3 575.7 115.7 518 108.7C460.3 101.7 402.7 113.3 345.2 125C287.7 136.7 230.3 148.3 172.8 142.5C115.3 136.7 57.7 113.3 28.8 101.7L0 90Z' fill='%230078b6'%3E%3C/path%3E%3Cpath d='M0 204L28.8 216.8C57.7 229.7 115.3 255.3 172.8 264.7C230.3 274 287.7 267 345.2 249.5C402.7 232 460.3 204 518 204C575.7 204 633.3 232 691 235.5C748.7 239 806.3 218 863.8 214.5C921.3 211 978.7 225 1036.2 236.7C1093.7 248.3 1151.3 257.7 1209 253C1266.7 248.3 1324.3 229.7 1382 222.7C1439.7 215.7 1497.3 220.3 1554.8 226.2C1612.3 232 1669.7 239 1727.2 247.2C1784.7 255.3 1842.3 264.7 1871.2 269.3L1900 274L1900 209L1871.2 206.7C1842.3 204.3 1784.7 199.7 1727.2 195C1669.7 190.3 1612.3 185.7 1554.8 183.3C1497.3 181 1439.7 181 1382 184.5C1324.3 188 1266.7 195 1209 199.7C1151.3 204.3 1093.7 206.7 1036.2 199.7C978.7 192.7 921.3 176.3 863.8 176.3C806.3 176.3 748.7 192.7 691 188C633.3 183.3 575.7 157.7 518 157.7C460.3 157.7 402.7 183.3 345.2 202C287.7 220.7 230.3 232.3 172.8 220.7C115.3 209 57.7 174 28.8 156.5L0 139Z' fill='%230084c8'%3E%3C/path%3E%3Cpath d='M0 421L28.8 421C57.7 421 115.3 421 172.8 423.3C230.3 425.7 287.7 430.3 345.2 416.3C402.7 402.3 460.3 369.7 518 361.5C575.7 353.3 633.3 369.7 691 373.2C748.7 376.7 806.3 367.3 863.8 365C921.3 362.7 978.7 367.3 1036.2 376.7C1093.7 386 1151.3 400 1209 404.7C1266.7 409.3 1324.3 404.7 1382 388.3C1439.7 372 1497.3 344 1554.8 346.3C1612.3 348.7 1669.7 381.3 1727.2 398.8C1784.7 416.3 1842.3 418.7 1871.2 419.8L1900 421L1900 272L1871.2 267.3C1842.3 262.7 1784.7 253.3 1727.2 245.2C1669.7 237 1612.3 230 1554.8 224.2C1497.3 218.3 1439.7 213.7 1382 220.7C1324.3 227.7 1266.7 246.3 1209 251C1151.3 255.7 1093.7 246.3 1036.2 234.7C978.7 223 921.3 209 863.8 212.5C806.3 216 748.7 237 691 233.5C633.3 230 575.7 202 518 202C460.3 202 402.7 230 345.2 247.5C287.7 265 230.3 272 172.8 262.7C115.3 253.3 57.7 227.7 28.8 214.8L0 202Z' fill='%23278fce'%3E%3C/path%3E%3Cpath d='M0 519L28.8 517.8C57.7 516.7 115.3 514.3 172.8 517.8C230.3 521.3 287.7 530.7 345.2 524.8C402.7 519 460.3 498 518 481.7C575.7 465.3 633.3 453.7 691 456C748.7 458.3 806.3 474.7 863.8 484C921.3 493.3 978.7 495.7 1036.2 502.7C1093.7 509.7 1151.3 521.3 1209 523.7C1266.7 526 1324.3 519 1382 499.2C1439.7 479.3 1497.3 446.7 1554.8 452.5C1612.3 458.3 1669.7 502.7 1727.2 519C1784.7 535.3 1842.3 523.7 1871.2 517.8L1900 512L1900 419L1871.2 417.8C1842.3 416.7 1784.7 414.3 1727.2 396.8C1669.7 379.3 1612.3 346.7 1554.8 344.3C1497.3 342 1439.7 370 1382 386.3C1324.3 402.7 1266.7 407.3 1209 402.7C1151.3 398 1093.7 384 1036.2 374.7C978.7 365.3 921.3 360.7 863.8 363C806.3 365.3 748.7 374.7 691 371.2C633.3 367.7 575.7 351.3 518 359.5C460.3 367.7 402.7 400.3 345.2 414.3C287.7 428.3 230.3 423.7 172.8 421.3C115.3 419 57.7 419 28.8 419L0 419Z' fill='%233d99d4'%3E%3C/path%3E%3Cpath d='M0 666L28.8 666C57.7 666 115.3 666 172.8 660.2C230.3 654.3 287.7 642.7 345.2 641.5C402.7 640.3 460.3 649.7 518 654.3C575.7 659 633.3 659 691 659C748.7 659 806.3 659 863.8 655.5C921.3 652 978.7 645 1036.2 643.8C1093.7 642.7 1151.3 647.3 1209 647.3C1266.7 647.3 1324.3 642.7 1382 639.2C1439.7 635.7 1497.3 633.3 1554.8 635.7C1612.3 638 1669.7 645 1727.2 646.2C1784.7 647.3 1842.3 642.7 1871.2 640.3L1900 638L1900 510L1871.2 515.8C1842.3 521.7 1784.7 533.3 1727.2 517C1669.7 500.7 1612.3 456.3 1554.8 450.5C1497.3 444.7 1439.7 477.3 1382 497.2C1324.3 517 1266.7 524 1209 521.7C1151.3 519.3 1093.7 507.7 1036.2 500.7C978.7 493.7 921.3 491.3 863.8 482C806.3 472.7 748.7 456.3 691 454C633.3 451.7 575.7 463.3 518 479.7C460.3 496 402.7 517 345.2 522.8C287.7 528.7 230.3 519.3 172.8 515.8C115.3 512.3 57.7 514.7 28.8 515.8L0 517Z' fill='%234fa4da'%3E%3C/path%3E%3Cpath d='M0 701L28.8 701C57.7 701 115.3 701 172.8 701C230.3 701 287.7 701 345.2 701C402.7 701 460.3 701 518 701C575.7 701 633.3 701 691 701C748.7 701 806.3 701 863.8 701C921.3 701 978.7 701 1036.2 701C1093.7 701 1151.3 701 1209 701C1266.7 701 1324.3 701 1382 701C1439.7 701 1497.3 701 1554.8 701C1612.3 701 1669.7 701 1727.2 701C1784.7 701 1842.3 701 1871.2 701L1900 701L1900 636L1871.2 638.3C1842.3 640.7 1784.7 645.3 1727.2 644.2C1669.7 643 1612.3 636 1554.8 633.7C1497.3 631.3 1439.7 633.7 1382 637.2C1324.3 640.7 1266.7 645.3 1209 645.3C1151.3 645.3 1093.7 640.7 1036.2 641.8C978.7 643 921.3 650 863.8 653.5C806.3 657 748.7 657 691 657C633.3 657 575.7 657 518 652.3C460.3 647.7 402.7 638.3 345.2 639.5C287.7 640.7 230.3 652.3 172.8 658.2C115.3 664 57.7 664 28.8 664L0 664Z' fill='%234fa4da'%3E%3C/path%3E%3C/svg%3E"); - background-attachment: fixed; - background-size: cover; - color: $gray-100; - position: relative; - - &::before { - content: ''; - display: block; - box-shadow: 0 -9px 8px 0 rgba(0,0,0,0.11); // cast shadow from the element following the hero onto the hero itself - position: absolute; - bottom: -10px; - height: 10px; - width: 100%; - z-index: 1; - } - - .coral-hero-claim { - font-size: 1.5rem; - } - - .coral-hero-actions { - button, - a { - color: $gray-100; - text-decoration: none; - font-size: 1.5rem; - - i { - border: 2px solid $gray-100; - border-radius: 50%; - width: 2.1rem; - height: 2.1rem; - font-size: 1rem; - display: inline-flex; - align-items: center; - justify-content: center; - margin-right: 0.6rem; - position: relative; - top: -0.2rem; - } - - &:hover { - color: $ordino-white-hover; - } - - &:hover > i { - color: $ordino-white-hover; - border-color: $ordino-white-hover; - } - - &:focus { - color: $ordino-white-hover; - box-shadow: 0 0 0 0.1rem shift-color($gray-100, -50%); - } - } - } - - .coral-hero-image { - height: clamp(200px, 25vw, 400px); - overflow: hidden; - - img { - width: 100%; - } - } -} - -.coral-intro-video-modal { - max-width: 1310px; // video width 1280 px + margin 30 px -} diff --git a/src/scss/pages/components/CoralTeaserCards.scss b/src/scss/pages/components/CoralTeaserCards.scss deleted file mode 100644 index fe5ba7d..0000000 --- a/src/scss/pages/components/CoralTeaserCards.scss +++ /dev/null @@ -1,11 +0,0 @@ -.coral-teaser-cards { - .col { - // use flex box to stack headline and card and make cards equally high - display: flex; - flex-direction: column; - } - - .card-footer { - background-color: transparent; - } - } \ No newline at end of file diff --git a/src/scss/pages/components/Footer.scss b/src/scss/pages/components/Footer.scss deleted file mode 100644 index 0fbd2f5..0000000 --- a/src/scss/pages/components/Footer.scss +++ /dev/null @@ -1,3 +0,0 @@ -.ordino-footer { - background: #006192; -} \ No newline at end of file diff --git a/src/scss/pages/components/GettingStarted.scss b/src/scss/pages/components/GettingStarted.scss deleted file mode 100644 index 9f20812..0000000 --- a/src/scss/pages/components/GettingStarted.scss +++ /dev/null @@ -1,36 +0,0 @@ -.ordino-getting-started { - .ordino-getting-started-steps { - list-style: none; // ordered list items and use custom counter for easier styling - counter-reset: getting-started-counter; - - li { - counter-increment: getting-started-counter; - - &::before { - content: counter(getting-started-counter); - background-color: $gray-800; - color: $white; - display: inline-block; - width: 2.8rem; - height: 2.8rem; - border-radius: 50%; - font-size: 1.8rem; - } - - h2 { - font-size: 1.5rem; - } - - p { - font-size: 1.2rem; - color: $gray-600; - } - } - } - - .btn { - font-size: 1.4rem; - text-transform: uppercase; - font-weight: 500; - } -} diff --git a/src/scss/pages/components/Header.scss b/src/scss/pages/components/Header.scss deleted file mode 100644 index 924352c..0000000 --- a/src/scss/pages/components/Header.scss +++ /dev/null @@ -1,4 +0,0 @@ -.ordino-header-navigation { - background: #006192; - padding: 0.5rem; -} \ No newline at end of file diff --git a/src/scss/pages/components/VideoCard.scss b/src/scss/pages/components/VideoCard.scss deleted file mode 100644 index 581b429..0000000 --- a/src/scss/pages/components/VideoCard.scss +++ /dev/null @@ -1,13 +0,0 @@ -// see https://github.com/Caleydo/ordino_public/blob/7e5de76fdc2dc1278eaacaa8a3fbc06902e52c52/src/scss/components/VideoCard.scss - -.coral-video-card { - iframe { - height: 15em; - } - - @media only screen and (min-width: 992px) { - iframe { - height: 35em; - } - } -} diff --git a/src/scss/pages/main.scss b/src/scss/pages/main.scss deleted file mode 100644 index ebb83ab..0000000 --- a/src/scss/pages/main.scss +++ /dev/null @@ -1,16 +0,0 @@ -@import "./abstracts/variables"; - -@import "./base/base"; - -// pages -@import "HomePage"; -@import "FeaturesPage"; -@import "pages"; - -// components -@import "./components/GettingStarted"; -@import "./components/CoralTeaserCards"; -@import "./components/CoralHero"; -@import "./components/VideoCard"; -@import "./components/Footer"; -@import "./components/Header"; \ No newline at end of file diff --git a/src/scss/pages/pages.scss b/src/scss/pages/pages.scss deleted file mode 100644 index 294878c..0000000 --- a/src/scss/pages/pages.scss +++ /dev/null @@ -1,51 +0,0 @@ -.news-page { - .news-page-section:not(:first-child) { - padding-top: 3.75rem; - } -} - -.ordino-publication-page { - .card-footer { - background-color: transparent; - } - - iframe { - height: 15em; - } - - @media only screen and (min-width: 768px) { - iframe { - height: 40em; - } - } -} - -.ordino-icon-1 { - font-size: 2rem; - color: #0084c8; -} - -.ordino-icon-2 { - background-color: #0084c8; - color: $white; - display: inline-flex; - align-items: center; - justify-content: center; - width: 2.2rem; - height: 2.2rem; - border-radius: 50%; - font-size: 1rem; -} - -// class to use in pages without scrollspy, in order to have a consistent scrolling behavior in all pages -// same as `.ordino-scrollspy-container` -.ordino-container { - position: absolute; - overflow: auto; - top: 0; - left: 0; - right: 0; - bottom: 0; - display: grid; - grid-template-rows: 1fr auto; -} diff --git a/src/templates/LoginDialog.html b/src/templates/LoginDialog.html deleted file mode 100644 index e2d567b..0000000 --- a/src/templates/LoginDialog.html +++ /dev/null @@ -1,47 +0,0 @@ - \ No newline at end of file diff --git a/src/welcome.template.ejs b/src/welcome.template.ejs deleted file mode 100644 index 2463cb0..0000000 --- a/src/welcome.template.ejs +++ /dev/null @@ -1,44 +0,0 @@ - - - - - - - - Coral • Interactive Cohort Analysis - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
-
Loading …
-
- - -