diff --git a/angular.json b/angular.json index c12cc93d67bf1db0e0eb09f84c32a47e67429e23..cca7fddfabe219b770a44f301bf7d2c91e796370 100644 --- a/angular.json +++ b/angular.json @@ -49,69 +49,13 @@ "namedChunks": true }, "configurations": { - "local": { + "old": { "fileReplacements": [ { "replace": "src/environments/environment.ts", - "with": "src/environments/environment.dev.ts" - } - ] - }, - "uhh-production": { - "fileReplacements": [ - { - "replace": "src/environments/environment.ts", - "with": "src/environments/environment.prod.uhh.ts" + "with": "src/environments/environment.old.ts" } ], - "optimization": true, - "outputHashing": "all", - "sourceMap": false, - "namedChunks": false, - "extractLicenses": true, - "vendorChunk": false, - "buildOptimizer": true, - "budgets": [ - { - "type": "initial", - "maximumWarning": "2mb", - "maximumError": "5mb" - }, - { - "type": "anyComponentStyle", - "maximumWarning": "6kb", - "maximumError": "500kb" - } - ] - }, - "dock1-production": { - "fileReplacements": [ - { - "replace": "src/environments/environment.ts", - "with": "src/environments/environment.prod.dock1.ts" - } - ], - "optimization": true, - "outputHashing": "all", - "sourceMap": false, - "namedChunks": false, - "extractLicenses": true, - "vendorChunk": false, - "buildOptimizer": true, - "budgets": [ - { - "type": "initial", - "maximumWarning": "2mb", - "maximumError": "5mb" - }, - { - "type": "anyComponentStyle", - "maximumWarning": "6kb", - "maximumError": "500kb" - } - ] - }, - "remote": { "optimization": true, "outputHashing": "all", "sourceMap": false, @@ -160,12 +104,6 @@ ] }, "production": { - "fileReplacements": [ - { - "replace": "src/environments/environment.ts", - "with": "src/environments/environment.prod.ts" - } - ], "optimization": true, "outputHashing": "all", "sourceMap": false, @@ -192,14 +130,14 @@ "serve": { "builder": "@angular-builders/custom-webpack:dev-server", "configurations": { - "local": { - "browserTarget": "netex:build:local" + "dev": { + "browserTarget": "netex:build:development" }, - "remote": { - "browserTarget": "netex:build:remote" + "old": { + "browserTarget": "netex:build:old" }, "production": { - "browserTarget": "netex:build:dock1-production" + "browserTarget": "netex:build:production" } } }, diff --git a/package-lock.json b/package-lock.json index 8c09b57f15b1072572401b88f42eadaa4ca32f1c..a1669bfadff14c3d3b487c82549e30369a99c529 100644 --- a/package-lock.json +++ b/package-lock.json @@ -1,6 +1,6 @@ { "name": "netex", - "version": "0.9.3", + "version": "0.9.4-rc3", "lockfileVersion": 1, "requires": true, "dependencies": { diff --git a/package.json b/package.json index 97a725e9b9cb322331d0c71f23f34c6cec148ce4..5136648675a85b9ba0f91e13e0002c9fa2e36fdb 100644 --- a/package.json +++ b/package.json @@ -1,28 +1,23 @@ { "name": "netex", - "version": "0.9.3", + "version": "0.9.4-rc3", "scripts": { "ng": "ng", - "start:local": "ng serve --configuration=local", - "start:remote": "ng serve --configuration=remote", + "start:dev": "ng serve --configuration=dev", + "start:old": "ng serve --configuration=old", "start:prod": "ng serve --configuration=production", "build": "ng build", "test": "ng test", "lint": "ng lint && htmlhint", "e2e": "ng e2e", "build-prod": "ng build --configuration=production --output-hashing=none", - "build-uhh": "ng build --configuration=uhh-production --output-hashing=none", - "build-dock1": "ng build --configuration=dock1-production --output-hashing=none", "build-dev": "ng build --configuration=development --output-hashing=none", - "build-remote": "ng build --configuration=remote --output-hashing=none", "package-es5": "cd dist/netex && cat runtime-es5.js polyfills-es5.js main-es5.js > bundle-es5.js", "package-es2015": "cd dist/netex && cat runtime-es2015.js polyfills-es2015.js main-es2015.js > bundle-es2015.js", "bundle": "npm run build-prod netex && npm run package-es5 && npm run package-es2015", "build:netex": "npm run build-prod netex && node build-netex.js", "build:netex-dev": "npm run build-dev netex && node build-netex.js", - "build:netex-uhh": "npm run build-uhh netex && node build-netex.js", - "build:netex-dock1": "npm run build-dock1 netex && node build-netex.js", - "build:netex-remote": "npm run build-remote netex && node build-netex.js", + "build:netex-dock1": "npm run build-old netex && node build-netex.js", "prefix": "bash prefix_styles.sh", "prefixcss": "postcss -r drugsTone-build/styles.css" }, diff --git a/releases/latest b/releases/latest new file mode 100644 index 0000000000000000000000000000000000000000..545cb4afcd3c90be0d3f76f1fbb442a9d925b9d1 --- /dev/null +++ b/releases/latest @@ -0,0 +1 @@ +0.9.4-rc3 diff --git a/releases/release_tag.sh b/releases/release_tag.sh index ced243e245189e9bee2cfd9c103822a2ad098793..74ee6d4ebcb5342b9baa834285ce0a0305e01c14 100755 --- a/releases/release_tag.sh +++ b/releases/release_tag.sh @@ -24,4 +24,8 @@ git push echo "Releasing Version..." git push origin "$VERSION" +echo "$1" > latest +git commit -am "triggered of v$1" +git push + echo "Done!" diff --git a/src/app/app.module.ts b/src/app/app.module.ts index 9d4402b422a2d4aca7155ea545ee97252f8799f8..6e159a3b9f95fb062407667c7d099ff971acf066 100644 --- a/src/app/app.module.ts +++ b/src/app/app.module.ts @@ -77,10 +77,9 @@ export class AppModule { faSpinner, faExclamationTriangle, faPlus, faExpand, faInfo, faRocket, faAngleDown, faSearch, faFastForward, faExternalLinkAlt, faTasks, faFilter, faMinus, faUpload, faAngleDoubleDown, faSync, faBroom, faAngleDoubleUp); - // Convert `PopupComponent` to a custom element. const NetworkExpander = createCustomElement(ExplorerPageComponent, {injector}); // Register the custom element with the browser. - customElements.define('network-expander', NetworkExpander); + customElements.define('drugst-one', NetworkExpander); } ngDoBootstrap() { diff --git a/src/app/components/analysis-panel/analysis-panel.component.ts b/src/app/components/analysis-panel/analysis-panel.component.ts index 83a8441433f2b006bf91ee44b8de8411df429776..eb999fc76321ce3b47b02b8928eb942a5ccf8ab3 100644 --- a/src/app/components/analysis-panel/analysis-panel.component.ts +++ b/src/app/components/analysis-panel/analysis-panel.component.ts @@ -190,7 +190,7 @@ export class AnalysisPanelComponent implements OnInit, OnChanges { this.nodeData.edges = new vis.DataSet(edges); const container = this.networkEl.nativeElement; const isBig = nodes.length > 100 || edges.length > 100; - const options = NetworkSettings.getOptions(isBig ? 'analysis-big' : 'analysis'); + const options = NetworkSettings.getOptions(isBig ? 'analysis-big' : 'analysis', this.myConfig.physicsOn); this.physicsEnabled = !isBig; this.network = new vis.Network(container, this.nodeData, options); diff --git a/src/app/config.ts b/src/app/config.ts index 229c9bb9aa6f4d85942f7ca94d1ca0bab64d5964..2f1de2fff2f33b26d5522e2d6d76553c0be767ef 100644 --- a/src/app/config.ts +++ b/src/app/config.ts @@ -59,6 +59,7 @@ export interface IConfig { autofillEdges: boolean; sidebarPos: 'left' | 'right'; interactions?: InteractionDatabase; + physicsOn?: boolean; identifier?: Identifier; nodeShadow?: boolean; edgeShadow?: boolean; @@ -95,6 +96,7 @@ export const defaultConfig: IConfig = { nodeShadow: true, edgeShadow: true, autofillEdges: true, + physicsOn: false, sidebarPos: 'left', nodeGroups: { // all NodeGroups but the default group must be set, if not provided by the user, they will be taken from here diff --git a/src/app/network-settings.ts b/src/app/network-settings.ts index cbc58a0215ae7f96451873670f6e3aa181d6d725..e68a102a62f49822a20557851e0f7a27cd5caf77 100644 --- a/src/app/network-settings.ts +++ b/src/app/network-settings.ts @@ -8,7 +8,7 @@ import * as merge from 'lodash/fp/merge'; export class NetworkSettings { // colors - private static Grey = '#A0A0A0' + private static Grey = '#A0A0A0'; private static White = '#FFFFFF'; private static Black = '#000000'; @@ -68,24 +68,24 @@ export class NetworkSettings { private static drugNotInTrialShape = 'box'; private static drugInTrialShape = 'triangle'; - static getOptions(network: 'main' | 'analysis' | 'analysis-big') { + static getOptions(network: 'main' | 'analysis' | 'analysis-big', physicsOn) { if (network === 'main') { return { layout: this.mainLayout, edges: this.mainEdges, - physics: this.mainPhysics, + physics: physicsOn || this.mainPhysics , }; } else if (network === 'analysis') { return { layout: this.analysisLayout, edges: this.analysisEdges, - physics: this.analysisPhysics, + physics: physicsOn || this.analysisPhysics, }; } else if (network === 'analysis-big') { return { layout: this.analysisLayout, edges: this.analysisEdges, - physics: this.analysisBigPhysics, + physics: physicsOn || this.analysisBigPhysics, }; } } diff --git a/src/app/pages/explorer-page/explorer-page.component.ts b/src/app/pages/explorer-page/explorer-page.component.ts index 820607444e86fa731387b669e56bd0d8c4fddf45..014884dd06af70b5be1ed3087488db5441c59ccf 100644 --- a/src/app/pages/explorer-page/explorer-page.component.ts +++ b/src/app/pages/explorer-page/explorer-page.component.ts @@ -89,7 +89,12 @@ export class ExplorerPageComponent implements OnInit, AfterViewInit { // a network exists, save node positions this.networkPositions = this.networkInternal.getPositions(); } - this.createNetwork(); + this.createNetwork().then(() => { + if(this.myConfig.physicsOn) { + this.updatePhysicsEnabled(true); + } + }); + } } @@ -400,7 +405,7 @@ export class ExplorerPageComponent implements OnInit, AfterViewInit { this.nodeData.edges = new vis.DataSet(edges); const container = this.networkEl.nativeElement; - const options = NetworkSettings.getOptions('main'); + const options = NetworkSettings.getOptions('main',this.myConfig.physicsOn); this.networkInternal = new vis.Network(container, this.nodeData, options); diff --git a/src/environments/environment.dev.ts b/src/environments/environment.dev.ts index 37b731d69c6536b36c96bb6b10fe472be3339272..f10eebdcaa7ec221a5bf00b1569709fc386873ba 100644 --- a/src/environments/environment.dev.ts +++ b/src/environments/environment.dev.ts @@ -1,12 +1,7 @@ -// This file can be replaced during build by using the `fileReplacements` array. -// `ng build --prod` replaces `environment.ts` with `environment.prod.ts`. -// The list of file replacements can be found in `angular.json`. - export const environment = { production: false, backend: 'http://localhost:8001/' }; - /* * For easier debugging in development mode, you can import the following file * to ignore zone related error stack frames such as `zone.run`, `zoneDelegate.invokeTask`. @@ -14,4 +9,4 @@ export const environment = { * This import should be commented out in production mode because it will have a negative impact * on performance if an error is thrown. */ -import 'zone.js/plugins/zone-error'; // Included with Angular CLI. +import 'zone.js/plugins/zone-error'; diff --git a/src/environments/environment.prod.dock1.ts b/src/environments/environment.old.ts similarity index 99% rename from src/environments/environment.prod.dock1.ts rename to src/environments/environment.old.ts index ac393b4067076122a61ec670ff207835136f7281..7372a16274d8af94348cc07fc3e3c22e8cb7a88d 100644 --- a/src/environments/environment.prod.dock1.ts +++ b/src/environments/environment.old.ts @@ -2,3 +2,4 @@ export const environment = { production: true, backend: 'https://drugst.one/drugstone_api/', }; + diff --git a/src/environments/environment.prod.stage.ts b/src/environments/environment.prod.stage.ts deleted file mode 100644 index 2dec8afe762c3bba69754df1325f56ba1b89d934..0000000000000000000000000000000000000000 --- a/src/environments/environment.prod.stage.ts +++ /dev/null @@ -1,4 +0,0 @@ -export const environment = { - production: true, - backend: 'https://exbio.wzw.tum.de/drugstone/api/', -}; diff --git a/src/environments/environment.prod.ts b/src/environments/environment.prod.ts deleted file mode 100644 index 2dec8afe762c3bba69754df1325f56ba1b89d934..0000000000000000000000000000000000000000 --- a/src/environments/environment.prod.ts +++ /dev/null @@ -1,4 +0,0 @@ -export const environment = { - production: true, - backend: 'https://exbio.wzw.tum.de/drugstone/api/', -}; diff --git a/src/environments/environment.prod.uhh.ts b/src/environments/environment.prod.uhh.ts deleted file mode 100644 index e892d5ee6e33ca3ae92732d8dc749f0da53759cb..0000000000000000000000000000000000000000 --- a/src/environments/environment.prod.uhh.ts +++ /dev/null @@ -1,4 +0,0 @@ -export const environment = { - production: true, - backend: 'http://ml-s-zbhdock2.ad.uni-hamburg.de/drugstone_api/', -}; diff --git a/src/environments/environment.ts b/src/environments/environment.ts index e1e1736ac32d354eab599869ff5907b60903d84a..9554a44b5aa7b1ec6b95e1e893276169c4839b1c 100644 --- a/src/environments/environment.ts +++ b/src/environments/environment.ts @@ -1,17 +1,6 @@ -// This file can be replaced during build by using the `fileReplacements` array. -// `ng build --prod` replaces `environment.ts` with `environment.prod.ts`. -// The list of file replacements can be found in `angular.json`. - export const environment = { - production: false, - backend: 'http://10.162.163.20:8001/', + production: true, + backend: 'https://api.drugst.one/', }; -/* - * For easier debugging in development mode, you can import the following file - * to ignore zone related error stack frames such as `zone.run`, `zoneDelegate.invokeTask`. - * - * This import should be commented out in production mode because it will have a negative impact - * on performance if an error is thrown. - */ -import 'zone.js/plugins/zone-error'; // Included with Angular CLI. + diff --git a/src/index.html b/src/index.html index 6f45199e43ca200f7b6d116c93edabc9c3ac4075..e201022ef700840f72fbab4265e1a0a318ba2bab 100644 --- a/src/index.html +++ b/src/index.html @@ -43,11 +43,11 @@ <div > - <network-expander id="netexp1" + <drugst-one id="netexp1" pluginId="2" - config='{"showLeftSidebar": true, "showSimpleAnalysis":true, "nodeGroups":{"patient":{"type":"patient","color":"black","font":{"color":"#ffffff"},"groupName":"Patient","shape":"image","image":"https://static.thenounproject.com/png/22780-200.png"},"condition":{"type":"condition","color":"black","font":{"color":"black"},"groupName":"Condition","shape":"text"},"important":{"type":"gene","color":"#ff881f","font":{"color":"#000000"},"groupName":"Important Gene","shape":"star"},"gene":{"type":"gene","color":"#4da300","font":{"color":"#4da300"},"groupName":"Gene","shape":"circle"},"foundDrug":{"type":"drug","color":{"border":"#F12590","background":"#F12590","highlight":{"border":"#F12590","background":"#F12590"}},"font":{"color":"#f0f0f0"},"groupName":"Drug","shape":"diamond"}},"edgeGroups":{"genotype":{"color":"black","groupName":"Relevant Gene"},"has-condition":{"color":"#000000","groupName":"Has Condition","dashes":[2,2]},"default":{"color":"#000000","groupName":"default edge"},"ggi":{"color":"#000000","groupName":"Interaction","dashes":[3,2]}},"identifier":"symbol","title":"Breast cancer example network","nodeShadow":true,"edgeShadow":false,"autofillEdges":false,"showLegend":true}' + config='{"physicsOn":true, "showLeftSidebar": true, "showSimpleAnalysis":true, "nodeGroups":{"patient":{"type":"patient","color":"black","font":{"color":"#ffffff"},"groupName":"Patient","shape":"image","image":"https://static.thenounproject.com/png/22780-200.png"},"condition":{"type":"condition","color":"black","font":{"color":"black"},"groupName":"Condition","shape":"text"},"important":{"type":"gene","color":"#ff881f","font":{"color":"#000000"},"groupName":"Important Gene","shape":"star"},"gene":{"type":"gene","color":"#4da300","font":{"color":"#ffffff"},"groupName":"Gene","shape":"circle"},"foundDrug":{"type":"drug","color":{"border":"#F12590","background":"#F12590"},"font":{"color":"#f0f0f0"},"groupName":"Drug","shape":"diamond"}},"edgeGroups":{"genotype":{"color":"black","groupName":"Relevant Gene"},"has-condition":{"color":"#000000","groupName":"Has Condition","dashes":[2,2]},"default":{"color":"#000000","groupName":"default edge"},"ggi":{"color":"#000000","groupName":"Interaction","dashes":[3,2]}},"identifier":"symbol","title":"Breast cancer example network","nodeShadow":true,"edgeShadow":false,"autofillEdges":false,"showLegend":true}' network='{"nodes":[{"id":"patient-1","group":"patient","x":592,"y":446},{"id":"patient-2","group":"patient","x":235,"y":87},{"id":"patient-3","group":"patient","x":105,"y":369},{"id":"ATM","label":"ATM","group":"gene","x":289,"y":242},{"id":"BARD1","label":"BARD1","group":"gene","x":44,"y":250},{"id":"BRCA1","label":"BRCA1","group":"gene","x":466,"y":576},{"id":"BRCA2","label":"BRCA2","group":"gene","x":507,"y":285},{"id":"BRIP1","label":"BRIP1","group":"gene","x":54,"y":474},{"id":"CHEK2","label":"CHEK2","group":"gene","x":216,"y":590},{"id":"CDH1","label":"CDH1","group":"gene","x":320,"y":-57},{"id":"NF1","label":"NF1","group":"gene","x":481,"y":111},{"id":"NBN","label":"NBN","group":"gene","x":-57,"y":314},{"id":"PALB2","label":"PALB2","group":"gene","x":450,"y":190},{"id":"PTEN","label":"PTEN","group":"important","x":305,"y":494},{"id":"RAD51C","label":"RAD51C","group":"gene","x":182,"y":-90},{"id":"RAD51D","label":"RAD51D","group":"gene","x":368,"y":73},{"id":"STK11","label":"STK11","group":"gene","x":686,"y":330},{"id":"TP53","label":"TP53","group":"important","x":333,"y":316},{"id":"subtype-1","label":"Subtype 1","group":"condition","x":556,"y":171},{"id":"subtype-2","label":"Subtype 2","group":"condition","x":-87,"y":221}],"edges":[{"from":"BRCA1","to":"BRCA2","group":"ggi"},{"from":"ATM","to":"BARD1","group":"ggi"},{"from":"BRCA1","to":"CHEK2","group":"ggi"},{"from":"RAD51C","to":"RAD51D","group":"ggi"},{"from":"STK11","to":"TP53","group":"ggi"},{"from":"TP53","to":"PALB2","group":"ggi"},{"from":"TP53","to":"RAD51D","group":"ggi"},{"from":"TP53","to":"NF1","group":"ggi"},{"from":"TP53","to":"BRCA1","group":"ggi"},{"from":"TP53","to":"BRCA2","group":"ggi"},{"from":"PTEN","to":"BRCA1","group":"ggi"},{"from":"PTEN","to":"BRCA2","group":"ggi"},{"from":"TP53","to":"PTEN","group":"ggi"},{"from":"ATM","to":"PTEN","group":"ggi"},{"from":"CDH1","to":"RAD51D","group":"ggi"},{"from":"CDH1","to":"PALB2","group":"ggi"},{"from":"NBN","to":"BRIP1","group":"ggi"},{"from":"BRIP1","to":"PTEN","group":"ggi"},{"from":"patient-1","to":"BRCA1","group":"genotype"},{"from":"patient-1","to":"TP53","group":"genotype"},{"from":"patient-1","to":"BRCA2","group":"genotype"},{"from":"patient-1","to":"PTEN","group":"genotype"},{"from":"patient-2","to":"TP53","group":"genotype"},{"from":"patient-2","to":"NF1","group":"genotype"},{"from":"patient-2","to":"BARD1","group":"genotype"},{"from":"patient-3","to":"TP53","group":"genotype"},{"from":"patient-3","to":"PTEN","group":"genotype"},{"from":"patient-3","to":"NBN","group":"genotype"},{"from":"patient-1","to":"subtype-1","group":"has-condition"},{"from":"patient-2","to":"subtype-1","group":"has-condition"},{"from":"patient-3","to":"subtype-2","group":"has-condition"}]}'> - }'></network-expander> + </drugst-one> </div> <!--<div >-->