From db083d573acf335f4d62884d1b0e980a5ab30238 Mon Sep 17 00:00:00 2001 From: Geomitron <22552797+Geomitron@users.noreply.github.com> Date: Tue, 11 Feb 2020 20:50:51 -0500 Subject: [PATCH] Cancel, Retry, and Warning download UI --- package-lock.json | 247 +++++++++--------- package.json | 18 +- .../chart-sidebar/chart-sidebar.component.ts | 4 +- .../downloads-modal.component.html | 17 +- .../downloads-modal.component.scss | 4 + .../downloads-modal.component.ts | 31 ++- src/app/core/services/download.service.ts | 44 ++-- ...dDownloadHandler.ts => DownloadHandler.ts} | 55 +++- src/electron/ipc/download/FileDownloader.ts | 20 +- src/electron/ipc/download/FileExtractor.ts | 9 + src/electron/shared/Database.ts | 1 + src/electron/shared/IPCHandler.ts | 10 +- .../shared/interfaces/download.interface.ts | 10 +- 13 files changed, 291 insertions(+), 179 deletions(-) rename src/electron/ipc/download/{AddDownloadHandler.ts => DownloadHandler.ts} (69%) diff --git a/package-lock.json b/package-lock.json index ed1c233..231dcc3 100644 --- a/package-lock.json +++ b/package-lock.json @@ -10,33 +10,33 @@ "integrity": "sha512-GLyWIFBbGvpKPGo55JyRZAo4lVbnBiD52cKlw/0Vt+wnmKvWJkpZvsjVoaIolyBXDeAQKSicRtqFNPem9w0WYA==" }, "@angular-devkit/architect": { - "version": "0.803.24", - "resolved": "https://registry.npmjs.org/@angular-devkit/architect/-/architect-0.803.24.tgz", - "integrity": "sha512-ONY/Ppzyvtb0tqgwnzQvlGlexb5nTyy58ljgL1aQLTO3cNTkpl4IQYUCTdvn61gGA+FWPAXMCCbNqOPZMsOZCQ==", + "version": "0.803.25", + "resolved": "https://registry.npmjs.org/@angular-devkit/architect/-/architect-0.803.25.tgz", + "integrity": "sha512-usV/zEncKCKQuF6AD3pRU6N5i5fbaAux/qZb+nbOz9/2G5jrXwe5sH+y3vxbgqB83e3LqusEQCTu7/tfg6LwZg==", "dev": true, "requires": { - "@angular-devkit/core": "8.3.24", + "@angular-devkit/core": "8.3.25", "rxjs": "6.4.0" } }, "@angular-devkit/build-angular": { - "version": "0.803.24", - "resolved": "https://registry.npmjs.org/@angular-devkit/build-angular/-/build-angular-0.803.24.tgz", - "integrity": "sha512-uA789spMVghXehwAhl5zK0loY/wfxblUiL+y21T24LMCJc15a9QX5dwbXH72ioHz7qdzb/agXk7AK+foc2/0Hw==", + "version": "0.803.25", + "resolved": "https://registry.npmjs.org/@angular-devkit/build-angular/-/build-angular-0.803.25.tgz", + "integrity": "sha512-WY0E7NgXuog3phhz5ZdutZPWQ9nbOr+omGN5KI1e8MZs1sJO4xkyaGRT8zOulkogkqJ2NboTBq3j9uSbZkcYeg==", "dev": true, "requires": { - "@angular-devkit/architect": "0.803.24", - "@angular-devkit/build-optimizer": "0.803.24", - "@angular-devkit/build-webpack": "0.803.24", - "@angular-devkit/core": "8.3.24", + "@angular-devkit/architect": "0.803.25", + "@angular-devkit/build-optimizer": "0.803.25", + "@angular-devkit/build-webpack": "0.803.25", + "@angular-devkit/core": "8.3.25", "@babel/core": "7.8.3", "@babel/preset-env": "7.8.3", - "@ngtools/webpack": "8.3.24", + "@ngtools/webpack": "8.3.25", "ajv": "6.10.2", "autoprefixer": "9.6.1", - "browserslist": "4.8.3", + "browserslist": "4.8.6", "cacache": "12.0.2", - "caniuse-lite": "1.0.30001019", + "caniuse-lite": "1.0.30001024", "circular-dependency-plugin": "5.2.0", "clean-css": "4.2.1", "copy-webpack-plugin": "5.1.1", @@ -81,12 +81,31 @@ "webpack-sources": "1.4.3", "webpack-subresource-integrity": "1.1.0-rc.6", "worker-plugin": "3.2.0" + }, + "dependencies": { + "browserslist": { + "version": "4.8.6", + "resolved": "https://registry.npmjs.org/browserslist/-/browserslist-4.8.6.tgz", + "integrity": "sha512-ZHao85gf0eZ0ESxLfCp73GG9O/VTytYDIkIiZDlURppLTI9wErSM/5yAKEq6rcUdxBLjMELmrYUJGg5sxGKMHg==", + "dev": true, + "requires": { + "caniuse-lite": "^1.0.30001023", + "electron-to-chromium": "^1.3.341", + "node-releases": "^1.1.47" + } + }, + "caniuse-lite": { + "version": "1.0.30001024", + "resolved": "https://registry.npmjs.org/caniuse-lite/-/caniuse-lite-1.0.30001024.tgz", + "integrity": "sha512-LubRSEPpOlKlhZw9wGlLHo8ZVj6ugGU3xGUfLPneNBledSd9lIM5cCGZ9Mz/mMCJUhEt4jZpYteZNVRdJw5FRA==", + "dev": true + } } }, "@angular-devkit/build-optimizer": { - "version": "0.803.24", - "resolved": "https://registry.npmjs.org/@angular-devkit/build-optimizer/-/build-optimizer-0.803.24.tgz", - "integrity": "sha512-Z+d7M+WpBq7AWWRwbxzb1l9O9qkylxnDRKxXvq3Tzjn43g+2WyspE91dMyrg1ISc+p8jgX6xKSblRLvtWqpA8w==", + "version": "0.803.25", + "resolved": "https://registry.npmjs.org/@angular-devkit/build-optimizer/-/build-optimizer-0.803.25.tgz", + "integrity": "sha512-MiQimuEs8QeM3xo7bR3Yk1OWHHlp2pGCc2GLUMIcWhKqM+QjoRky0HoGoBazbznx292l+xjFjANvPEKbqJ2v7Q==", "dev": true, "requires": { "loader-utils": "1.2.3", @@ -94,31 +113,23 @@ "tslib": "1.10.0", "typescript": "3.5.3", "webpack-sources": "1.4.3" - }, - "dependencies": { - "typescript": { - "version": "3.5.3", - "resolved": "https://registry.npmjs.org/typescript/-/typescript-3.5.3.tgz", - "integrity": "sha512-ACzBtm/PhXBDId6a6sDJfroT2pOWt/oOnk4/dElG5G33ZL776N3Y6/6bKZJBFpd+b05F3Ct9qDjMeJmRWtE2/g==", - "dev": true - } } }, "@angular-devkit/build-webpack": { - "version": "0.803.24", - "resolved": "https://registry.npmjs.org/@angular-devkit/build-webpack/-/build-webpack-0.803.24.tgz", - "integrity": "sha512-Bbd5KUGaE+edN0sp8K3azuqS/JTBmeWXIumdBEtqWyL6VsohX7fL+toJlSvRkj8lg02LVyozAFetXKnyaBkfCQ==", + "version": "0.803.25", + "resolved": "https://registry.npmjs.org/@angular-devkit/build-webpack/-/build-webpack-0.803.25.tgz", + "integrity": "sha512-WR7HWJIWL6TB3WHG7ZFn8s0z3WlojeQlod75UIKl5i+f4OU90kp8kxcoH5G6OCXu56x5w40oIi1ve5ljjWSJkw==", "dev": true, "requires": { - "@angular-devkit/architect": "0.803.24", - "@angular-devkit/core": "8.3.24", + "@angular-devkit/architect": "0.803.25", + "@angular-devkit/core": "8.3.25", "rxjs": "6.4.0" } }, "@angular-devkit/core": { - "version": "8.3.24", - "resolved": "https://registry.npmjs.org/@angular-devkit/core/-/core-8.3.24.tgz", - "integrity": "sha512-xpT5yg+ddGDnifryBv2sRSYtq5F3iZIS+lN/K2AhhEa50B7Z+QaCVlEzoV/IfrGd6sLArdnKYwjLHFZ0LElUuw==", + "version": "8.3.25", + "resolved": "https://registry.npmjs.org/@angular-devkit/core/-/core-8.3.25.tgz", + "integrity": "sha512-l7Gqy1tMrTpRmPVlovcFX8UA3mtXRlgO8kcSsbJ9MKRKNTCcxlfsWEYY5igyDBUVh6ADkgSIu0nuk31ZGTe0lw==", "dev": true, "requires": { "ajv": "6.10.2", @@ -129,12 +140,12 @@ } }, "@angular-devkit/schematics": { - "version": "8.3.24", - "resolved": "https://registry.npmjs.org/@angular-devkit/schematics/-/schematics-8.3.24.tgz", - "integrity": "sha512-HrwDCgw7i3GrNns0Ce5zStWkxBqlcLuDkMcLY6981jpvVzgXMIQ+YqDrJ2kD46xHh979ev7hhw1d6jwPXh85Xw==", + "version": "8.3.25", + "resolved": "https://registry.npmjs.org/@angular-devkit/schematics/-/schematics-8.3.25.tgz", + "integrity": "sha512-/p1MkfursfLy+JRGXlJGPEmX55lrFCsR/2khWAVXZcMaFR3QlR/b6/zvB8I2pHFfr0/XWnYTT/BsF7rJjO3RmA==", "dev": true, "requires": { - "@angular-devkit/core": "8.3.24", + "@angular-devkit/core": "8.3.25", "rxjs": "6.4.0" } }, @@ -153,16 +164,16 @@ } }, "@angular/cli": { - "version": "8.3.24", - "resolved": "https://registry.npmjs.org/@angular/cli/-/cli-8.3.24.tgz", - "integrity": "sha512-cUB6H+BAISMdaFsstcyvC+17hOV3ET4MaVgcmgT2cL7A4vMBRBxJ0cW4r3D9c6e7m4wipyJzOUESYoIHu0cp4A==", + "version": "8.3.25", + "resolved": "https://registry.npmjs.org/@angular/cli/-/cli-8.3.25.tgz", + "integrity": "sha512-CPJI5nnbBvvyBUFwOHfRXy/KVwsiYlcbDAeIk1klcjQjbVFYZbnY0iAhNupy9j7rPQhb7jle5oslU3TLfbqOTQ==", "dev": true, "requires": { - "@angular-devkit/architect": "0.803.24", - "@angular-devkit/core": "8.3.24", - "@angular-devkit/schematics": "8.3.24", - "@schematics/angular": "8.3.24", - "@schematics/update": "0.803.24", + "@angular-devkit/architect": "0.803.25", + "@angular-devkit/core": "8.3.25", + "@angular-devkit/schematics": "8.3.25", + "@schematics/angular": "8.3.25", + "@schematics/update": "0.803.25", "@yarnpkg/lockfile": "1.1.0", "ansi-colors": "4.1.1", "debug": "^4.1.1", @@ -1082,9 +1093,9 @@ } }, "caniuse-lite": { - "version": "1.0.30001023", - "resolved": "https://registry.npmjs.org/caniuse-lite/-/caniuse-lite-1.0.30001023.tgz", - "integrity": "sha512-C5TDMiYG11EOhVOA62W1p3UsJ2z4DsHtMBQtjzp3ZsUglcQn62WOUgW0y795c7A5uZ+GCEIvzkMatLIlAsbNTA==", + "version": "1.0.30001027", + "resolved": "https://registry.npmjs.org/caniuse-lite/-/caniuse-lite-1.0.30001027.tgz", + "integrity": "sha512-7xvKeErvXZFtUItTHgNtLgS9RJpVnwBlWX8jSo/BO8VsF6deszemZSkJJJA1KOKrXuzZH4WALpAJdq5EyfgMLg==", "dev": true }, "semver": { @@ -1216,9 +1227,9 @@ } }, "caniuse-lite": { - "version": "1.0.30001023", - "resolved": "https://registry.npmjs.org/caniuse-lite/-/caniuse-lite-1.0.30001023.tgz", - "integrity": "sha512-C5TDMiYG11EOhVOA62W1p3UsJ2z4DsHtMBQtjzp3ZsUglcQn62WOUgW0y795c7A5uZ+GCEIvzkMatLIlAsbNTA==", + "version": "1.0.30001027", + "resolved": "https://registry.npmjs.org/caniuse-lite/-/caniuse-lite-1.0.30001027.tgz", + "integrity": "sha512-7xvKeErvXZFtUItTHgNtLgS9RJpVnwBlWX8jSo/BO8VsF6deszemZSkJJJA1KOKrXuzZH4WALpAJdq5EyfgMLg==", "dev": true }, "semver": { @@ -2012,9 +2023,9 @@ } }, "@electron/get": { - "version": "1.7.2", - "resolved": "https://registry.npmjs.org/@electron/get/-/get-1.7.2.tgz", - "integrity": "sha512-LSE4LZGMjGS9TloDx0yO44D2UTbaeKRk+QjlhWLiQlikV6J4spgDCjb6z4YIcqmPAwNzlNCnWF4dubytwI+ATA==", + "version": "1.7.6", + "resolved": "https://registry.npmjs.org/@electron/get/-/get-1.7.6.tgz", + "integrity": "sha512-zlNikt6ziVLNcm4lly1L4y62fJd/eYpEBjF5DiV/VAQq2vdPjH4sbUphXt9upmHz86lAhAj8g9lTnWrxJ/KBZw==", "dev": true, "requires": { "debug": "^4.1.1", @@ -2080,12 +2091,12 @@ "dev": true }, "@ngtools/webpack": { - "version": "8.3.24", - "resolved": "https://registry.npmjs.org/@ngtools/webpack/-/webpack-8.3.24.tgz", - "integrity": "sha512-OpR7t/99qNOpADayCuM67agBVdYkdbFyEEcOLaDFYh3LsefHOSSxtAGv8M77e7dguvtaljHTiVkMxgcXFsZM0Q==", + "version": "8.3.25", + "resolved": "https://registry.npmjs.org/@ngtools/webpack/-/webpack-8.3.25.tgz", + "integrity": "sha512-yHvgxXUXlgdWijtzcRjTaUqzK+6TVK/8p7PreBR00GsLxhl4U1jQSC6yDaZUCjOaEkiczFWl4hEuC4wTU/hLdg==", "dev": true, "requires": { - "@angular-devkit/core": "8.3.24", + "@angular-devkit/core": "8.3.25", "enhanced-resolve": "4.1.0", "rxjs": "6.4.0", "tree-kill": "1.2.2", @@ -2219,23 +2230,23 @@ } }, "@schematics/angular": { - "version": "8.3.24", - "resolved": "https://registry.npmjs.org/@schematics/angular/-/angular-8.3.24.tgz", - "integrity": "sha512-0nf/LgMHAvhjWS97Pl3JGMqS9/4PI+C0+vJoAo6D7ax8Fb+wuY5uD6Pb7ZqaZALlEnqTgE+FBQ1K8VBVbuwKbA==", + "version": "8.3.25", + "resolved": "https://registry.npmjs.org/@schematics/angular/-/angular-8.3.25.tgz", + "integrity": "sha512-/vEPtE+fvgsWPml/MVqzmlGPBujadPPNwaTuuj5Uz1aVcKeEYzLkbN8YQOpml4vxZHCF8RDwNdGiU4SZg63Jfg==", "dev": true, "requires": { - "@angular-devkit/core": "8.3.24", - "@angular-devkit/schematics": "8.3.24" + "@angular-devkit/core": "8.3.25", + "@angular-devkit/schematics": "8.3.25" } }, "@schematics/update": { - "version": "0.803.24", - "resolved": "https://registry.npmjs.org/@schematics/update/-/update-0.803.24.tgz", - "integrity": "sha512-NvCKn3QfpRjx1EzL56q9IC9fRtDXZP4bMGs/2tj+wtdBNHgm6ZJMJ9qc4mGeztKGbDFLmnX3Xz0XawAl+KeYzQ==", + "version": "0.803.25", + "resolved": "https://registry.npmjs.org/@schematics/update/-/update-0.803.25.tgz", + "integrity": "sha512-VIlqhJsCStA3aO4llxZ7lAOvQUqppyZdrEO7f/ApIJmuofPQTkO5Hx21tnv0dyExwoqPCSIHzEu4Tmc0/TWM1A==", "dev": true, "requires": { - "@angular-devkit/core": "8.3.24", - "@angular-devkit/schematics": "8.3.24", + "@angular-devkit/core": "8.3.25", + "@angular-devkit/schematics": "8.3.25", "@yarnpkg/lockfile": "1.1.0", "ini": "1.3.5", "pacote": "9.5.5", @@ -2328,9 +2339,9 @@ } }, "@types/node": { - "version": "8.9.5", - "resolved": "https://registry.npmjs.org/@types/node/-/node-8.9.5.tgz", - "integrity": "sha512-jRHfWsvyMtXdbhnz5CVHxaBgnV6duZnPlQuRSo/dm/GnmikNcmZhxIES4E9OZjUmQ8C+HCl4KJux+cXN/ErGDQ==" + "version": "11.15.0", + "resolved": "https://registry.npmjs.org/@types/node/-/node-11.15.0.tgz", + "integrity": "sha512-JRq4kw1GQZrF90YRrp3C1kIoioAEj9PweNF2Qgp/6XZYVgXPl7OWKdggFNtRxlBPyl40Fz/bOhCnXuKMFaJ06w==" }, "@types/source-list-map": { "version": "0.1.2", @@ -2363,12 +2374,12 @@ } }, "@typescript-eslint/eslint-plugin": { - "version": "2.19.0", - "resolved": "https://registry.npmjs.org/@typescript-eslint/eslint-plugin/-/eslint-plugin-2.19.0.tgz", - "integrity": "sha512-u7IcQ9qwsB6U806LupZmINRnQjC+RJyv36sV/ugaFWMHTbFm/hlLTRx3gGYJgHisxcGSTnf+I/fPDieRMhPSQQ==", + "version": "2.19.2", + "resolved": "https://registry.npmjs.org/@typescript-eslint/eslint-plugin/-/eslint-plugin-2.19.2.tgz", + "integrity": "sha512-HX2qOq2GOV04HNrmKnTpSIpHjfl7iwdXe3u/Nvt+/cpmdvzYvY0NHSiTkYN257jHnq4OM/yo+OsFgati+7LqJA==", "dev": true, "requires": { - "@typescript-eslint/experimental-utils": "2.19.0", + "@typescript-eslint/experimental-utils": "2.19.2", "eslint-utils": "^1.4.3", "functional-red-black-tree": "^1.0.1", "regexpp": "^3.0.0", @@ -2387,13 +2398,13 @@ } }, "@typescript-eslint/experimental-utils": { - "version": "2.19.0", - "resolved": "https://registry.npmjs.org/@typescript-eslint/experimental-utils/-/experimental-utils-2.19.0.tgz", - "integrity": "sha512-zwpg6zEOPbhB3+GaQfufzlMUOO6GXCNZq6skk+b2ZkZAIoBhVoanWK255BS1g5x9bMwHpLhX0Rpn5Fc3NdCZdg==", + "version": "2.19.2", + "resolved": "https://registry.npmjs.org/@typescript-eslint/experimental-utils/-/experimental-utils-2.19.2.tgz", + "integrity": "sha512-B88QuwT1wMJR750YvTJBNjMZwmiPpbmKYLm1yI7PCc3x0NariqPwqaPsoJRwU9DmUi0cd9dkhz1IqEnwfD+P1A==", "dev": true, "requires": { "@types/json-schema": "^7.0.3", - "@typescript-eslint/typescript-estree": "2.19.0", + "@typescript-eslint/typescript-estree": "2.19.2", "eslint-scope": "^5.0.0" }, "dependencies": { @@ -2410,21 +2421,21 @@ } }, "@typescript-eslint/parser": { - "version": "2.19.0", - "resolved": "https://registry.npmjs.org/@typescript-eslint/parser/-/parser-2.19.0.tgz", - "integrity": "sha512-s0jZoxAWjHnuidbbN7aA+BFVXn4TCcxEVGPV8lWMxZglSs3NRnFFAlL+aIENNmzB2/1jUJuySi6GiM6uACPmpg==", + "version": "2.19.2", + "resolved": "https://registry.npmjs.org/@typescript-eslint/parser/-/parser-2.19.2.tgz", + "integrity": "sha512-8uwnYGKqX9wWHGPGdLB9sk9+12sjcdqEEYKGgbS8A0IvYX59h01o8os5qXUHMq2na8vpDRaV0suTLM7S8wraTA==", "dev": true, "requires": { "@types/eslint-visitor-keys": "^1.0.0", - "@typescript-eslint/experimental-utils": "2.19.0", - "@typescript-eslint/typescript-estree": "2.19.0", + "@typescript-eslint/experimental-utils": "2.19.2", + "@typescript-eslint/typescript-estree": "2.19.2", "eslint-visitor-keys": "^1.1.0" } }, "@typescript-eslint/typescript-estree": { - "version": "2.19.0", - "resolved": "https://registry.npmjs.org/@typescript-eslint/typescript-estree/-/typescript-estree-2.19.0.tgz", - "integrity": "sha512-n6/Xa37k0jQdwpUszffi19AlNbVCR0sdvCs3DmSKMD7wBttKY31lhD2fug5kMD91B2qW4mQldaTEc1PEzvGu8w==", + "version": "2.19.2", + "resolved": "https://registry.npmjs.org/@typescript-eslint/typescript-estree/-/typescript-estree-2.19.2.tgz", + "integrity": "sha512-Xu/qa0MDk6upQWqE4Qy2X16Xg8Vi32tQS2PR0AvnT/ZYS4YGDvtn2MStOh5y8Zy2mg4NuL06KUHlvCh95j9C6Q==", "dev": true, "requires": { "debug": "^4.1.1", @@ -3572,9 +3583,9 @@ } }, "boolean": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/boolean/-/boolean-3.0.0.tgz", - "integrity": "sha512-OElxJ1lUSinuoUnkpOgLmxp0DC4ytEhODEL6QJU0NpxE/mI4rUSh8h1P1Wkvfi3xQEBcxXR2gBIPNYNuaFcAbQ==", + "version": "3.0.1", + "resolved": "https://registry.npmjs.org/boolean/-/boolean-3.0.1.tgz", + "integrity": "sha512-HRZPIjPcbwAVQvOTxR4YE3o8Xs98NqbbL1iEZDCz7CL8ql0Lt5iOyJFxfnAB0oFs8Oh02F/lLlg30Mexv46LjA==", "dev": true, "optional": true }, @@ -4645,17 +4656,6 @@ "ssri": "^6.0.1", "unique-filename": "^1.1.1", "y18n": "^4.0.0" - }, - "dependencies": { - "rimraf": { - "version": "2.7.1", - "resolved": "https://registry.npmjs.org/rimraf/-/rimraf-2.7.1.tgz", - "integrity": "sha512-uWjbaKIK3T1OSVptzX7Nl6PvQ3qAGtKEtVRjRuazjfL3Bx5eI409VZSqgND+4UNnmzLVdPj9FqFJNPqBZFve4w==", - "dev": true, - "requires": { - "glob": "^7.1.3" - } - } } }, "find-cache-dir": { @@ -4668,6 +4668,15 @@ "make-dir": "^2.0.0", "pkg-dir": "^3.0.0" } + }, + "rimraf": { + "version": "2.7.1", + "resolved": "https://registry.npmjs.org/rimraf/-/rimraf-2.7.1.tgz", + "integrity": "sha512-uWjbaKIK3T1OSVptzX7Nl6PvQ3qAGtKEtVRjRuazjfL3Bx5eI409VZSqgND+4UNnmzLVdPj9FqFJNPqBZFve4w==", + "dev": true, + "requires": { + "glob": "^7.1.3" + } } } }, @@ -5370,9 +5379,9 @@ "dev": true }, "electron": { - "version": "7.1.11", - "resolved": "https://registry.npmjs.org/electron/-/electron-7.1.11.tgz", - "integrity": "sha512-YDXfnovKY+8iZ5ISQh1kRqYIRKbpOSxGXCx2WVxPFPutEQ7Q/Xzr3h4GePEY25/NXMytMfhKaAZAYjtWUm3r9Q==", + "version": "7.1.12", + "resolved": "https://registry.npmjs.org/electron/-/electron-7.1.12.tgz", + "integrity": "sha512-gOJxAlJX2UyCRRncKzKzHSZStDI6MdoDzsustTCzudoZx3vlst1kkIP0n5t3TWTNoKNY/ihRsYIpeu63ar1m/g==", "dev": true, "requires": { "@electron/get": "^1.0.1", @@ -5381,9 +5390,9 @@ }, "dependencies": { "@types/node": { - "version": "12.12.26", - "resolved": "https://registry.npmjs.org/@types/node/-/node-12.12.26.tgz", - "integrity": "sha512-UmUm94/QZvU5xLcUlNR8hA7Ac+fGpO1EG/a8bcWVz0P0LqtxFmun9Y2bbtuckwGboWJIT70DoWq1r3hb56n3DA==", + "version": "12.12.27", + "resolved": "https://registry.npmjs.org/@types/node/-/node-12.12.27.tgz", + "integrity": "sha512-odQFl/+B9idbdS0e8IxDl2ia/LP8KZLXhV3BUeI98TrZp0uoIzQPhGd+5EtzHmT0SMOIaPd7jfz6pOHLWTtl7A==", "dev": true } } @@ -7782,9 +7791,9 @@ }, "dependencies": { "semver": { - "version": "7.1.2", - "resolved": "https://registry.npmjs.org/semver/-/semver-7.1.2.tgz", - "integrity": "sha512-BJs9T/H8sEVHbeigqzIEo57Iu/3DG6c4QoqTfbQB3BPA4zgzAomh/Fk9E7QtjWQ8mx2dgA9YCfSF4y9k9bHNpQ==", + "version": "7.1.3", + "resolved": "https://registry.npmjs.org/semver/-/semver-7.1.3.tgz", + "integrity": "sha512-ekM0zfiA9SCBlsKa2X1hxyxiI4L3B6EbVJkkdgQXnSEEaHlGdvyodMruTiulSRWMMB4NeIuYNMC9rTKTz97GxA==", "dev": true, "optional": true } @@ -9832,9 +9841,9 @@ "dev": true }, "istanbul-lib-instrument": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/istanbul-lib-instrument/-/istanbul-lib-instrument-4.0.0.tgz", - "integrity": "sha512-Nm4wVHdo7ZXSG30KjZ2Wl5SU/Bw7bDx1PdaiIFzEStdjs0H12mOTncn1GVYuqQSaZxpg87VGBRsVRPGD2cD1AQ==", + "version": "4.0.1", + "resolved": "https://registry.npmjs.org/istanbul-lib-instrument/-/istanbul-lib-instrument-4.0.1.tgz", + "integrity": "sha512-imIchxnodll7pvQBYOqUu88EufLCU56LMeFPZZM/fJZ1irYcYdqroaV+ACK1Ila8ls09iEYArp+nqyC6lW1Vfg==", "dev": true, "requires": { "@babel/core": "^7.7.5", @@ -10438,9 +10447,9 @@ "integrity": "sha1-0CJTc662Uq3BvILklFM5qEJ1R3M=" }, "loglevel": { - "version": "1.6.6", - "resolved": "https://registry.npmjs.org/loglevel/-/loglevel-1.6.6.tgz", - "integrity": "sha512-Sgr5lbboAUBo3eXCSPL4/KoVz3ROKquOjcctxmHIt+vol2DrqTQe3SwkKKuYhEiWB5kYa13YyopJ69deJ1irzQ==", + "version": "1.6.7", + "resolved": "https://registry.npmjs.org/loglevel/-/loglevel-1.6.7.tgz", + "integrity": "sha512-cY2eLFrQSAfVPhCgH1s7JI73tMbg9YC3v3+ZHVW67sBS7UxWzNEk/ZBbSfLykBWHp33dqqtOv82gjhKEi81T/A==", "dev": true }, "longest": { @@ -13127,9 +13136,9 @@ } }, "rimraf": { - "version": "3.0.1", - "resolved": "https://registry.npmjs.org/rimraf/-/rimraf-3.0.1.tgz", - "integrity": "sha512-IQ4ikL8SjBiEDZfk+DFVwqRK8md24RWMEJkdSlgNLkyyAImcjf8SWvU1qFMDOb4igBClbTQ/ugPqXcRwdFTxZw==", + "version": "3.0.2", + "resolved": "https://registry.npmjs.org/rimraf/-/rimraf-3.0.2.tgz", + "integrity": "sha512-JZkJMZkAGFFPP2YqXZXPbMlMBgsxzE8ILs4lMIX/2o0L9UBw9O/Y3o6wFw/i9YLapcUJWwqbi3kdxIPdC62TIA==", "dev": true, "requires": { "glob": "^7.1.3" diff --git a/package.json b/package.json index 496aa01..6200bc4 100644 --- a/package.json +++ b/package.json @@ -16,13 +16,13 @@ "private": true, "scripts": { "start": "run-p serve:angular serve:electron", + "serve:electron": "wait-on http-get://localhost:4200/ && tsc -p tsconfig.electron.json && electron . --dev", "lint": "ng lint", "clean": "rimraf dist release", "build:windows": "ng build -c production && tsc -p tsconfig.electron.json && electron-builder build --windows", "build:mac": "ng build -c production && tsc -p tsconfig.electron.json && electron-builder build --mac", "build:linux": "ng build -c production && tsc -p tsconfig.electron.json && electron-builder build --linux", - "serve:angular": "ng serve", - "serve:electron": "wait-on http-get://localhost:4200/ && tsc -p tsconfig.electron.json && electron . --dev" + "serve:angular": "ng serve" }, "dependencies": { "7zip-bin": "^5.0.3", @@ -52,20 +52,20 @@ "zone.js": "~0.9.1" }, "devDependencies": { - "@angular-devkit/build-angular": "~0.803.24", + "@angular-devkit/build-angular": "^0.803.25", "@angular-eslint/builder": "0.0.1-alpha.18", - "@angular/cli": "~8.3.24", + "@angular/cli": "^8.3.25", "@angular/compiler-cli": "~8.2.14", "@angular/language-service": "~8.2.14", - "@types/node": "~8.9.4", - "@typescript-eslint/eslint-plugin": "^2.19.0", - "@typescript-eslint/parser": "^2.19.0", - "electron": "^7.1.11", + "@types/node": "11.15.0", + "@typescript-eslint/eslint-plugin": "^2.19.2", + "@typescript-eslint/parser": "^2.19.2", + "electron": "^7.1.12", "electron-builder": "^22.3.2", "electron-reload": "^1.5.0", "eslint": "^6.8.0", "npm-run-all": "^4.1.5", - "rimraf": "^3.0.1", + "rimraf": "^3.0.2", "ts-node": "~7.0.0", "tslint": "~5.15.0", "typescript": "~3.5.3", diff --git a/src/app/components/browse/chart-sidebar/chart-sidebar.component.ts b/src/app/components/browse/chart-sidebar/chart-sidebar.component.ts index eedab30..499f716 100644 --- a/src/app/components/browse/chart-sidebar/chart-sidebar.component.ts +++ b/src/app/components/browse/chart-sidebar/chart-sidebar.component.ts @@ -128,8 +128,8 @@ export class ChartSidebarComponent { } onDownloadClicked() { - this.downloadService.addDownload({ - versionID: this.selectedVersion.versionID, + this.downloadService.addDownload( + this.selectedVersion.versionID, { avTagName: this.selectedVersion.avTagName, artist: this.songResult.artist, charter: this.selectedVersion.charters, diff --git a/src/app/components/browse/status-bar/downloads-modal/downloads-modal.component.html b/src/app/components/browse/status-bar/downloads-modal/downloads-modal.component.html index c2a0a9d..cdf28f8 100644 --- a/src/app/components/browse/status-bar/downloads-modal/downloads-modal.component.html +++ b/src/app/components/browse/status-bar/downloads-modal/downloads-modal.component.html @@ -1,9 +1,24 @@