diff --git a/package.json b/package.json index 8a27ca965..e099a473f 100644 --- a/package.json +++ b/package.json @@ -2,7 +2,7 @@ "name": "tdp_core", "description": "Target discovery platform for exploring rankings of genes, disease models, and other entities.", "homepage": "https://phovea.caleydo.org", - "version": "5.4.0", + "version": "5.4.1", "author": { "name": "datavisyn", "email": "contact@caleydo.org", diff --git a/src/phovea.ts b/src/phovea.ts index 6137e0b38..242fe04e5 100644 --- a/src/phovea.ts +++ b/src/phovea.ts @@ -6,16 +6,26 @@ import {IRegistry} from 'phovea_core/src/plugin'; export default function (registry: IRegistry) { - function actionFunction(id: string, factory: string, loader: () => any) { - registry.push('actionFunction', id, loader, { factory }); + function actionFunction(id: string, factory: string, loader: () => any, options?: {}) { + registry.push('actionFunction', id, loader, { factory, ...options }); } function actionCompressor(id: string, factory: string, matches: string, loader: () => any) { registry.push('actionCompressor', id, loader, { factory, matches }); } - actionFunction('tdpInitSession', 'initSessionImpl', () => System.import('./internal/cmds')); - actionFunction('tdpSetParameter', 'setParameterImpl', () => System.import('./internal/cmds')); + actionFunction('tdpInitSession', 'initSessionImpl', () => System.import('./internal/cmds'), { + analytics: { + category: 'session', + action: 'init' + } + }); + actionFunction('tdpSetParameter', 'setParameterImpl', () => System.import('./internal/cmds'), { + analytics: { + category: 'view', + action: 'setParameter' + } + }); actionCompressor('tdpCompressSetParameter', 'compressSetParameter', '(tdpSetParameter)', () => System.import('./internal/cmds')); // compatibility @@ -24,8 +34,18 @@ export default function (registry: IRegistry) { actionCompressor('targidCompressSetParameter', 'compressSetParameterOld', '(targidSetParameter)', () => System.import('./internal/cmds')); - actionFunction('tdpAddScore', 'addScoreImpl', () => System.import('./lineup/internal/scorecmds')); - actionFunction('tdpRemoveScore', 'removeScoreImpl', () => System.import('./lineup/internal/scorecmds')); + actionFunction('tdpAddScore', 'addScoreImpl', () => System.import('./lineup/internal/scorecmds'), { + analytics: { + category: 'score', + action: 'add' + } + }); + actionFunction('tdpRemoveScore', 'removeScoreImpl', () => System.import('./lineup/internal/scorecmds'), { + analytics: { + category: 'score', + action: 'remove' + } + }); actionCompressor('tdpScoreCompressor', 'compress', '(tdpAddScore|tdpRemoveScore)', () => System.import('./lineup/internal/scorecmds')); // compatibility @@ -33,11 +53,46 @@ export default function (registry: IRegistry) { actionFunction('ordinoRemoveScore', 'removeScoreImpl', () => System.import('./lineup/internal/scorecmds')); actionCompressor('ordinoScoreCompressor', 'compressComp', '(ordinoAddScore|ordinoRemoveScore)', () => System.import('./lineup/internal/scorecmds')); - actionFunction('lineupAddRanking', 'addRankingImpl', () => System.import('./lineup/internal/cmds')); - actionFunction('lineupSetRankingSortCriteria', 'setRankingSortCriteriaImpl', () => System.import('./lineup/internal/cmds')); - actionFunction('lineupSetSortCriteria', 'setSortCriteriaImpl', () => System.import('./lineup/internal/cmds')); - actionFunction('lineupSetGroupCriteria', 'setGroupCriteriaImpl', () => System.import('./lineup/internal/cmds')); - actionFunction('lineupSetColumn', 'setColumnImpl', () => System.import('./lineup/internal/cmds')); - actionFunction('lineupAddColumn', 'addColumnImpl', () => System.import('./lineup/internal/cmds')); - actionFunction('lineupMoveColumn', 'moveColumnImpl', () => System.import('./lineup/internal/cmds')); + actionFunction('lineupAddRanking', 'addRankingImpl', () => System.import('./lineup/internal/cmds'), { + analytics: { + category: 'lineup', + action: 'addRanking' + } + }); + actionFunction('lineupSetRankingSortCriteria', 'setRankingSortCriteriaImpl', () => System.import('./lineup/internal/cmds'), { + analytics: { + category: 'lineup', + action: 'setRankingSortCriteria' + } + }); + actionFunction('lineupSetSortCriteria', 'setSortCriteriaImpl', () => System.import('./lineup/internal/cmds'), { + analytics: { + category: 'lineup', + action: 'setSortCriteria' + } + }); + actionFunction('lineupSetGroupCriteria', 'setGroupCriteriaImpl', () => System.import('./lineup/internal/cmds'), { + analytics: { + category: 'lineup', + action: 'setGroupCriteria' + } + }); + actionFunction('lineupSetColumn', 'setColumnImpl', () => System.import('./lineup/internal/cmds'), { + analytics: { + category: 'lineup', + action: 'setColumn' + } + }); + actionFunction('lineupAddColumn', 'addColumnImpl', () => System.import('./lineup/internal/cmds'), { + analytics: { + category: 'lineup', + action: 'addColumn' + } + }); + actionFunction('lineupMoveColumn', 'moveColumnImpl', () => System.import('./lineup/internal/cmds'), { + analytics: { + category: 'lineup', + action: 'moveColumn' + } + }); } diff --git a/src/views/SelectionChooser.ts b/src/views/SelectionChooser.ts index 8f5297979..669054c8a 100644 --- a/src/views/SelectionChooser.ts +++ b/src/views/SelectionChooser.ts @@ -179,4 +179,13 @@ export default class SelectionChooser { return changed; } + /** + * change the selected value programmatically + */ + setSelection(value: any) { + const element = this.accessor(this.formID); + + element.value = value; + } + }