From fa0ba51046b1b76c6fc591515e598483d4437d2d Mon Sep 17 00:00:00 2001 From: Denys Vitali Date: Tue, 16 Apr 2019 19:04:48 +0200 Subject: [PATCH] Major refactor, WIP #5 & #12 --- config/webpack.config.common.js | 4 +- package-lock.json | 3206 ++++++++++++++++- package.json | 4 + resources/test/xml/document1.xml | 2 +- src/app/app-routing.module.ts | 16 +- src/app/app.component.html | 10 +- src/app/app.component.scss | 1 - src/app/app.module.ts | 37 +- .../doctt_common/doctt_common.module.ts | 33 + .../menu/components/menu/menu.component.html | 3 - .../menu/components/menu/menu.component.scss | 5 - .../menu/components/menu/menu.component.ts | 9 - src/app/modules/menu/menu-routing.module.ts | 21 - src/app/modules/menu/menu.module.ts | 18 - .../treeupload/treeupload.component.html | 4 +- .../treeupload/treeupload.component.scss | 0 .../treeupload/treeupload.component.ts | 6 +- .../treeview/treeview.component.html | 2 + .../treeview/treeview.component.scss | 20 + .../components/treeview/treeview.component.ts | 12 + .../treestoring.component.html | 0 .../treestoring.component.scss | 0 .../treestoring.component.ts | 2 +- src/app/modules/tree/tree.module.ts | 39 + .../xmlexport/xmlexport.component.html | 0 .../xmlexport/xmlexport.component.scss | 0 .../xmlexport/xmlexport.component.ts | 0 .../xmlupload/xmlupload.component.html | 8 + .../xmlupload/xmlupload.component.scss | 12 + .../xmlupload/xmlupload.component.ts | 27 +- src/app/modules/xml/xml.module.ts | 29 + src/app/services/document/DocumentService.ts | 28 +- .../document/document.component.html | 22 + .../document/document.component.scss | 6 + .../components/document/document.component.ts | 75 +- .../documentdelete.component.html | 3 + .../documentdelete.component.scss | 0 .../documentdelete.component.ts | 12 + .../document-preview.component.html | 4 +- .../documentupload.component.html | 8 +- .../documentupload.component.scss | 5 + .../documentupload.component.ts | 10 +- .../shared/components/tag/tag.component.ts | 10 +- .../components/customtextarea.component.html | 193 +- .../components/customtextarea.component.scss | 3 +- .../components/customtextarea.component.ts | 94 +- .../xmlupload/xmlupload.component.html | 5 - .../xmlupload/xmlupload.component.scss | 7 - src/styles/theme.scss | 2 +- src/vendor.ts | 4 +- tsconfig.json | 4 +- 51 files changed, 3669 insertions(+), 356 deletions(-) create mode 100644 src/app/modules/doctt_common/doctt_common.module.ts delete mode 100644 src/app/modules/menu/components/menu/menu.component.html delete mode 100644 src/app/modules/menu/components/menu/menu.component.scss delete mode 100644 src/app/modules/menu/components/menu/menu.component.ts delete mode 100644 src/app/modules/menu/menu-routing.module.ts delete mode 100644 src/app/modules/menu/menu.module.ts rename src/app/{shared => modules/tree}/components/treeupload/treeupload.component.html (64%) rename src/app/{shared => modules/tree}/components/treeupload/treeupload.component.scss (100%) rename src/app/{shared => modules/tree}/components/treeupload/treeupload.component.ts (90%) create mode 100644 src/app/modules/tree/components/treeview/treeview.component.html create mode 100644 src/app/modules/tree/components/treeview/treeview.component.scss create mode 100644 src/app/modules/tree/components/treeview/treeview.component.ts rename src/app/{shared/components/treestoring => modules/tree/components/unused_treestoring}/treestoring.component.html (100%) rename src/app/{shared/components/treestoring => modules/tree/components/unused_treestoring}/treestoring.component.scss (100%) rename src/app/{shared/components/treestoring => modules/tree/components/unused_treestoring}/treestoring.component.ts (96%) create mode 100644 src/app/modules/tree/tree.module.ts create mode 100644 src/app/modules/xml/components/xmlexport/xmlexport.component.html create mode 100644 src/app/modules/xml/components/xmlexport/xmlexport.component.scss rename src/app/{shared => modules/xml}/components/xmlexport/xmlexport.component.ts (100%) create mode 100644 src/app/modules/xml/components/xmlupload/xmlupload.component.html create mode 100644 src/app/modules/xml/components/xmlupload/xmlupload.component.scss rename src/app/{shared => modules/xml}/components/xmlupload/xmlupload.component.ts (66%) create mode 100644 src/app/modules/xml/xml.module.ts create mode 100644 src/app/shared/components/documentdelete/documentdelete.component.html create mode 100644 src/app/shared/components/documentdelete/documentdelete.component.scss create mode 100644 src/app/shared/components/documentdelete/documentdelete.component.ts delete mode 100644 src/app/shared/components/xmlupload/xmlupload.component.html delete mode 100644 src/app/shared/components/xmlupload/xmlupload.component.scss diff --git a/config/webpack.config.common.js b/config/webpack.config.common.js index bb7c58a..2e5dc1f 100644 --- a/config/webpack.config.common.js +++ b/config/webpack.config.common.js @@ -16,7 +16,9 @@ module.exports = { alias: { Models: helpers.root("src/app/models"), Services: helpers.root("src/app/services"), - Directives: helpers.root("src/app/directives") + Directives: helpers.root("src/app/directives"), + Components: helpers.root("src/app/shared/components"), + Modules: helpers.root("src/app/modules"), } }, diff --git a/package-lock.json b/package-lock.json index b00fc38..99dcc12 100644 --- a/package-lock.json +++ b/package-lock.json @@ -3576,6 +3576,11 @@ } } }, + "file-saver": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/file-saver/-/file-saver-2.0.1.tgz", + "integrity": "sha512-dCB3K7/BvAcUmtmh1DzFdv0eXSVJ9IAFt1mw3XZfAexodNRoE29l3xB2EX4wH2q8m/UTzwzEPq/ArYk98kUkBQ==" + }, "fileset": { "version": "2.0.3", "resolved": "https://registry.npmjs.org/fileset/-/fileset-2.0.3.tgz", @@ -4450,9 +4455,9 @@ "dev": true }, "handlebars": { - "version": "4.1.1", - "resolved": "https://registry.npmjs.org/handlebars/-/handlebars-4.1.1.tgz", - "integrity": "sha512-3Zhi6C0euYZL5sM0Zcy7lInLXKQ+YLcF/olbN010mzGQ4XVm50JeyBnMqofHh696GrciGruC7kCcApPDJvVgwA==", + "version": "4.1.2", + "resolved": "https://registry.npmjs.org/handlebars/-/handlebars-4.1.2.tgz", + "integrity": "sha512-nvfrjqvt9xQ8Z/w0ijewdD/vvWDTOweBUm96NTr66Wfvo1mJenBLwcYmPs3TIBP5ruzYGD7Hx/DaM9RmhroGPw==", "dev": true, "requires": { "neo-async": "^2.6.0", @@ -4785,6 +4790,11 @@ "integrity": "sha1-7AbBDgo0wPL68Zn3/X/Hj//QPHM=", "dev": true }, + "i": { + "version": "0.3.6", + "resolved": "https://registry.npmjs.org/i/-/i-0.3.6.tgz", + "integrity": "sha1-2WyScyB28HJxG2sQ/X1PZa2O4j0=" + }, "iconv-lite": { "version": "0.4.23", "resolved": "https://registry.npmjs.org/iconv-lite/-/iconv-lite-0.4.23.tgz", @@ -5227,22 +5237,22 @@ "integrity": "sha1-R+Y/evVa+m+S4VAOaQ64uFKcCZo=" }, "istanbul-api": { - "version": "2.1.1", - "resolved": "https://registry.npmjs.org/istanbul-api/-/istanbul-api-2.1.1.tgz", - "integrity": "sha512-kVmYrehiwyeBAk/wE71tW6emzLiHGjYIiDrc8sfyty4F8M02/lrgXSm+R1kXysmF20zArvmZXjlE/mg24TVPJw==", + "version": "2.1.4", + "resolved": "https://registry.npmjs.org/istanbul-api/-/istanbul-api-2.1.4.tgz", + "integrity": "sha512-aAFQL0HA2BLUl18XmTQ7H7CGKI58DtZFvvfmg6e+rA3iNFergvpi16czLV4CpI7HOImMeZ5mqI62dvSNVtUQVA==", "dev": true, "requires": { "async": "^2.6.1", "compare-versions": "^3.2.1", "fileset": "^2.0.3", - "istanbul-lib-coverage": "^2.0.3", - "istanbul-lib-hook": "^2.0.3", - "istanbul-lib-instrument": "^3.1.0", - "istanbul-lib-report": "^2.0.4", - "istanbul-lib-source-maps": "^3.0.2", - "istanbul-reports": "^2.1.1", - "js-yaml": "^3.12.0", - "make-dir": "^1.3.0", + "istanbul-lib-coverage": "^2.0.4", + "istanbul-lib-hook": "^2.0.6", + "istanbul-lib-instrument": "^3.2.0", + "istanbul-lib-report": "^2.0.7", + "istanbul-lib-source-maps": "^3.0.5", + "istanbul-reports": "^2.2.2", + "js-yaml": "^3.13.0", + "make-dir": "^2.1.0", "minimatch": "^3.0.4", "once": "^1.4.0" }, @@ -5255,6 +5265,85 @@ "requires": { "lodash": "^4.17.11" } + }, + "debug": { + "version": "4.1.1", + "resolved": "https://registry.npmjs.org/debug/-/debug-4.1.1.tgz", + "integrity": "sha512-pYAIzeRo8J6KPEaJ0VWOh5Pzkbw/RetuzehGM7QRRX5he4fPHx2rdKMB256ehJCkX+XRQm16eZLqLNS8RSZXZw==", + "dev": true, + "requires": { + "ms": "^2.1.1" + } + }, + "istanbul-lib-coverage": { + "version": "2.0.4", + "resolved": "https://registry.npmjs.org/istanbul-lib-coverage/-/istanbul-lib-coverage-2.0.4.tgz", + "integrity": "sha512-LXTBICkMARVgo579kWDm8SqfB6nvSDKNqIOBEjmJRnL04JvoMHCYGWaMddQnseJYtkEuEvO/sIcOxPLk9gERug==", + "dev": true + }, + "istanbul-lib-instrument": { + "version": "3.2.0", + "resolved": "https://registry.npmjs.org/istanbul-lib-instrument/-/istanbul-lib-instrument-3.2.0.tgz", + "integrity": "sha512-06IM3xShbNW4NgZv5AP4QH0oHqf1/ivFo8eFys0ZjPXHGldHJQWb3riYOKXqmOqfxXBfxu4B+g/iuhOPZH0RJg==", + "dev": true, + "requires": { + "@babel/generator": "^7.0.0", + "@babel/parser": "^7.0.0", + "@babel/template": "^7.0.0", + "@babel/traverse": "^7.0.0", + "@babel/types": "^7.0.0", + "istanbul-lib-coverage": "^2.0.4", + "semver": "^6.0.0" + } + }, + "istanbul-lib-source-maps": { + "version": "3.0.5", + "resolved": "https://registry.npmjs.org/istanbul-lib-source-maps/-/istanbul-lib-source-maps-3.0.5.tgz", + "integrity": "sha512-eDhZ7r6r1d1zQPVZehLc3D0K14vRba/eBYkz3rw16DLOrrTzve9RmnkcwrrkWVgO1FL3EK5knujVe5S8QHE9xw==", + "dev": true, + "requires": { + "debug": "^4.1.1", + "istanbul-lib-coverage": "^2.0.4", + "make-dir": "^2.1.0", + "rimraf": "^2.6.2", + "source-map": "^0.6.1" + } + }, + "make-dir": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/make-dir/-/make-dir-2.1.0.tgz", + "integrity": "sha512-LS9X+dc8KLxXCb8dni79fLIIUA5VyZoyjSMCwTluaXA0o27cCK0bhXkpgw+sTXVpPy/lSO57ilRixqk0vDmtRA==", + "dev": true, + "requires": { + "pify": "^4.0.1", + "semver": "^5.6.0" + }, + "dependencies": { + "semver": { + "version": "5.7.0", + "resolved": "https://registry.npmjs.org/semver/-/semver-5.7.0.tgz", + "integrity": "sha512-Ya52jSX2u7QKghxeoFGpLwCtGlt7j0oY9DYb5apt9nPlJ42ID+ulTXESnt/qAQcoSERyZ5sl3LDIOw0nAn/5DA==", + "dev": true + } + } + }, + "ms": { + "version": "2.1.1", + "resolved": "https://registry.npmjs.org/ms/-/ms-2.1.1.tgz", + "integrity": "sha512-tgp+dl5cGk28utYktBsrFqA7HKgrhgPsg6Z/EfhWI4gl1Hwq8B/GmY/0oXZ6nF8hDVesS/FpnYaD/kOWhYQvyg==", + "dev": true + }, + "pify": { + "version": "4.0.1", + "resolved": "https://registry.npmjs.org/pify/-/pify-4.0.1.tgz", + "integrity": "sha512-uB80kBFb/tfd68bVleG9T5GGsGPjJrLAUpR5PZIrhBnIaRTQRjqdJSsIKkOP6OAIFbj7GOrcudc5pNjZ+geV2g==", + "dev": true + }, + "semver": { + "version": "6.0.0", + "resolved": "https://registry.npmjs.org/semver/-/semver-6.0.0.tgz", + "integrity": "sha512-0UewU+9rFapKFnlbirLi3byoOuhrSsli/z/ihNnvM24vgF+8sNBiI1LZPBSH9wJKUwaUbw+s3hToDLCXkrghrQ==", + "dev": true } } }, @@ -5265,9 +5354,9 @@ "dev": true }, "istanbul-lib-hook": { - "version": "2.0.3", - "resolved": "https://registry.npmjs.org/istanbul-lib-hook/-/istanbul-lib-hook-2.0.3.tgz", - "integrity": "sha512-CLmEqwEhuCYtGcpNVJjLV1DQyVnIqavMLFHV/DP+np/g3qvdxu3gsPqYoJMXm15sN84xOlckFB3VNvRbf5yEgA==", + "version": "2.0.6", + "resolved": "https://registry.npmjs.org/istanbul-lib-hook/-/istanbul-lib-hook-2.0.6.tgz", + "integrity": "sha512-829DKONApZ7UCiPXcOYWSgkFXa4+vNYoNOt3F+4uDJLKL1OotAoVwvThoEj1i8jmOj7odbYcR3rnaHu+QroaXg==", "dev": true, "requires": { "append-transform": "^1.0.0" @@ -5289,16 +5378,38 @@ } }, "istanbul-lib-report": { - "version": "2.0.4", - "resolved": "https://registry.npmjs.org/istanbul-lib-report/-/istanbul-lib-report-2.0.4.tgz", - "integrity": "sha512-sOiLZLAWpA0+3b5w5/dq0cjm2rrNdAfHWaGhmn7XEFW6X++IV9Ohn+pnELAl9K3rfpaeBfbmH9JU5sejacdLeA==", + "version": "2.0.7", + "resolved": "https://registry.npmjs.org/istanbul-lib-report/-/istanbul-lib-report-2.0.7.tgz", + "integrity": "sha512-wLH6beJBFbRBLiTlMOBxmb85cnVM1Vyl36N48e4e/aTKSM3WbOx7zbVIH1SQ537fhhsPbX0/C5JB4qsmyRXXyA==", "dev": true, "requires": { - "istanbul-lib-coverage": "^2.0.3", - "make-dir": "^1.3.0", + "istanbul-lib-coverage": "^2.0.4", + "make-dir": "^2.1.0", "supports-color": "^6.0.0" }, "dependencies": { + "istanbul-lib-coverage": { + "version": "2.0.4", + "resolved": "https://registry.npmjs.org/istanbul-lib-coverage/-/istanbul-lib-coverage-2.0.4.tgz", + "integrity": "sha512-LXTBICkMARVgo579kWDm8SqfB6nvSDKNqIOBEjmJRnL04JvoMHCYGWaMddQnseJYtkEuEvO/sIcOxPLk9gERug==", + "dev": true + }, + "make-dir": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/make-dir/-/make-dir-2.1.0.tgz", + "integrity": "sha512-LS9X+dc8KLxXCb8dni79fLIIUA5VyZoyjSMCwTluaXA0o27cCK0bhXkpgw+sTXVpPy/lSO57ilRixqk0vDmtRA==", + "dev": true, + "requires": { + "pify": "^4.0.1", + "semver": "^5.6.0" + } + }, + "pify": { + "version": "4.0.1", + "resolved": "https://registry.npmjs.org/pify/-/pify-4.0.1.tgz", + "integrity": "sha512-uB80kBFb/tfd68bVleG9T5GGsGPjJrLAUpR5PZIrhBnIaRTQRjqdJSsIKkOP6OAIFbj7GOrcudc5pNjZ+geV2g==", + "dev": true + }, "supports-color": { "version": "6.1.0", "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-6.1.0.tgz", @@ -5341,9 +5452,9 @@ } }, "istanbul-reports": { - "version": "2.1.1", - "resolved": "https://registry.npmjs.org/istanbul-reports/-/istanbul-reports-2.1.1.tgz", - "integrity": "sha512-FzNahnidyEPBCI0HcufJoSEoKykesRlFcSzQqjH9x0+LC8tnnE/p/90PBLu8iZTxr8yYZNyTtiAujUqyN+CIxw==", + "version": "2.2.2", + "resolved": "https://registry.npmjs.org/istanbul-reports/-/istanbul-reports-2.2.2.tgz", + "integrity": "sha512-ZFuTdBQ3PSaPnm02aEA4R6mzQ2AF9w03CYiXADzWbbE48v/EFOWF4MaX4FT0NRdqIk48I7o0RPi+S8TMswaCbQ==", "dev": true, "requires": { "handlebars": "^4.1.0" @@ -6291,9 +6402,9 @@ "integrity": "sha512-RdJUflcE3cUzKiMqQgsCu06FPu9UdIJO0beYbPhHN4k6apgJtifcoCtT9bcxOpYBtpD2kCM6Sbzg4CausW/PKQ==" }, "js-yaml": { - "version": "3.13.0", - "resolved": "https://registry.npmjs.org/js-yaml/-/js-yaml-3.13.0.tgz", - "integrity": "sha512-pZZoSxcCYco+DIKBTimr67J6Hy+EYGZDY/HCWC+iAEA9h1ByhMXAIVUXMcMFpOCxQ/xjXmPI2MkDL5HRm5eFrQ==", + "version": "3.13.1", + "resolved": "https://registry.npmjs.org/js-yaml/-/js-yaml-3.13.1.tgz", + "integrity": "sha512-YfbcO7jXDdyj0DGxYVSlSeQNHbD7XPWvrVWeVUujrQEoZzWJIRrCPoyk6kL6IAjAG2IolMK4T0hNUe0HOUs5Jw==", "requires": { "argparse": "^1.0.7", "esprima": "^4.0.0" @@ -7094,6 +7205,14 @@ "resolved": "https://registry.npmjs.org/next-tick/-/next-tick-1.0.0.tgz", "integrity": "sha1-yobR/ogoFpsBICCOPchCS524NCw=" }, + "ngx-material-file-input": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/ngx-material-file-input/-/ngx-material-file-input-1.1.1.tgz", + "integrity": "sha512-rYhBPAr7EZca6RoFWKcceV4Y4V2xH8SPAgrA/bCXgKbS/tJ+h/e9UW3jIPMWVOR/u/rbNhzuXVTuTMfSgS3klw==", + "requires": { + "tslib": "^1.9.0" + } + }, "nice-try": { "version": "1.0.5", "resolved": "https://registry.npmjs.org/nice-try/-/nice-try-1.0.5.tgz", @@ -7300,6 +7419,3037 @@ "resolved": "https://registry.npmjs.org/normalize-url/-/normalize-url-3.3.0.tgz", "integrity": "sha512-U+JJi7duF1o+u2pynbp2zXDW2/PADgC30f0GsHZtRh+HOcXHnw137TrNlyxxRvWW5fjKd3bcLHPxofWuCjaeZg==" }, + "npm": { + "version": "6.9.0", + "resolved": "https://registry.npmjs.org/npm/-/npm-6.9.0.tgz", + "integrity": "sha512-91V+zB5hDxO+Jyp2sUKS7juHlIM95dGQxTeQtmZI1nAI/7kjWXFipPrtwwKjhyKmV4GsS2LzJhrxRjGWsU9z/w==", + "requires": { + "JSONStream": "^1.3.5", + "abbrev": "~1.1.1", + "ansicolors": "~0.3.2", + "ansistyles": "~0.1.3", + "aproba": "^2.0.0", + "archy": "~1.0.0", + "bin-links": "^1.1.2", + "bluebird": "^3.5.3", + "byte-size": "^5.0.1", + "cacache": "^11.3.2", + "call-limit": "~1.1.0", + "chownr": "^1.1.1", + "ci-info": "^2.0.0", + "cli-columns": "^3.1.2", + "cli-table3": "^0.5.1", + "cmd-shim": "~2.0.2", + "columnify": "~1.5.4", + "config-chain": "^1.1.12", + "debuglog": "*", + "detect-indent": "~5.0.0", + "detect-newline": "^2.1.0", + "dezalgo": "~1.0.3", + "editor": "~1.0.0", + "figgy-pudding": "^3.5.1", + "find-npm-prefix": "^1.0.2", + "fs-vacuum": "~1.2.10", + "fs-write-stream-atomic": "~1.0.10", + "gentle-fs": "^2.0.1", + "glob": "^7.1.3", + "graceful-fs": "^4.1.15", + "has-unicode": "~2.0.1", + "hosted-git-info": "^2.7.1", + "iferr": "^1.0.2", + "imurmurhash": "*", + "inflight": "~1.0.6", + "inherits": "~2.0.3", + "ini": "^1.3.5", + "init-package-json": "^1.10.3", + "is-cidr": "^3.0.0", + "json-parse-better-errors": "^1.0.2", + "lazy-property": "~1.0.0", + "libcipm": "^3.0.3", + "libnpm": "^2.0.1", + "libnpmaccess": "*", + "libnpmhook": "^5.0.2", + "libnpmorg": "*", + "libnpmsearch": "*", + "libnpmteam": "*", + "libnpx": "^10.2.0", + "lock-verify": "^2.1.0", + "lockfile": "^1.0.4", + "lodash._baseindexof": "*", + "lodash._baseuniq": "~4.6.0", + "lodash._bindcallback": "*", + "lodash._cacheindexof": "*", + "lodash._createcache": "*", + "lodash._getnative": "*", + "lodash.clonedeep": "~4.5.0", + "lodash.restparam": "*", + "lodash.union": "~4.6.0", + "lodash.uniq": "~4.5.0", + "lodash.without": "~4.4.0", + "lru-cache": "^4.1.5", + "meant": "~1.0.1", + "mississippi": "^3.0.0", + "mkdirp": "~0.5.1", + "move-concurrently": "^1.0.1", + "node-gyp": "^3.8.0", + "nopt": "~4.0.1", + "normalize-package-data": "^2.5.0", + "npm-audit-report": "^1.3.2", + "npm-cache-filename": "~1.0.2", + "npm-install-checks": "~3.0.0", + "npm-lifecycle": "^2.1.0", + "npm-package-arg": "^6.1.0", + "npm-packlist": "^1.4.1", + "npm-pick-manifest": "^2.2.3", + "npm-profile": "*", + "npm-registry-fetch": "^3.9.0", + "npm-user-validate": "~1.0.0", + "npmlog": "~4.1.2", + "once": "~1.4.0", + "opener": "^1.5.1", + "osenv": "^0.1.5", + "pacote": "^9.5.0", + "path-is-inside": "~1.0.2", + "promise-inflight": "~1.0.1", + "qrcode-terminal": "^0.12.0", + "query-string": "^6.2.0", + "qw": "~1.0.1", + "read": "~1.0.7", + "read-cmd-shim": "~1.0.1", + "read-installed": "~4.0.3", + "read-package-json": "^2.0.13", + "read-package-tree": "^5.2.2", + "readable-stream": "^3.1.1", + "readdir-scoped-modules": "*", + "request": "^2.88.0", + "retry": "^0.12.0", + "rimraf": "^2.6.3", + "safe-buffer": "^5.1.2", + "semver": "^5.6.0", + "sha": "~2.0.1", + "slide": "~1.1.6", + "sorted-object": "~2.0.1", + "sorted-union-stream": "~2.1.3", + "ssri": "^6.0.1", + "stringify-package": "^1.0.0", + "tar": "^4.4.8", + "text-table": "~0.2.0", + "tiny-relative-date": "^1.3.0", + "uid-number": "0.0.6", + "umask": "~1.1.0", + "unique-filename": "^1.1.1", + "unpipe": "~1.0.0", + "update-notifier": "^2.5.0", + "uuid": "^3.3.2", + "validate-npm-package-license": "^3.0.4", + "validate-npm-package-name": "~3.0.0", + "which": "^1.3.1", + "worker-farm": "^1.6.0", + "write-file-atomic": "^2.4.2" + }, + "dependencies": { + "JSONStream": { + "version": "1.3.5", + "bundled": true, + "requires": { + "jsonparse": "^1.2.0", + "through": ">=2.2.7 <3" + } + }, + "abbrev": { + "version": "1.1.1", + "bundled": true + }, + "agent-base": { + "version": "4.2.1", + "bundled": true, + "requires": { + "es6-promisify": "^5.0.0" + } + }, + "agentkeepalive": { + "version": "3.4.1", + "bundled": true, + "requires": { + "humanize-ms": "^1.2.1" + } + }, + "ajv": { + "version": "5.5.2", + "bundled": true, + "requires": { + "co": "^4.6.0", + "fast-deep-equal": "^1.0.0", + "fast-json-stable-stringify": "^2.0.0", + "json-schema-traverse": "^0.3.0" + } + }, + "ansi-align": { + "version": "2.0.0", + "bundled": true, + "requires": { + "string-width": "^2.0.0" + } + }, + "ansi-regex": { + "version": "2.1.1", + "bundled": true + }, + "ansi-styles": { + "version": "3.2.1", + "bundled": true, + "requires": { + "color-convert": "^1.9.0" + } + }, + "ansicolors": { + "version": "0.3.2", + "bundled": true + }, + "ansistyles": { + "version": "0.1.3", + "bundled": true + }, + "aproba": { + "version": "2.0.0", + "bundled": true + }, + "archy": { + "version": "1.0.0", + "bundled": true + }, + "are-we-there-yet": { + "version": "1.1.4", + "bundled": true, + "requires": { + "delegates": "^1.0.0", + "readable-stream": "^2.0.6" + }, + "dependencies": { + "readable-stream": { + "version": "2.3.6", + "bundled": true, + "requires": { + "core-util-is": "~1.0.0", + "inherits": "~2.0.3", + "isarray": "~1.0.0", + "process-nextick-args": "~2.0.0", + "safe-buffer": "~5.1.1", + "string_decoder": "~1.1.1", + "util-deprecate": "~1.0.1" + } + }, + "string_decoder": { + "version": "1.1.1", + "bundled": true, + "requires": { + "safe-buffer": "~5.1.0" + } + } + } + }, + "asap": { + "version": "2.0.6", + "bundled": true + }, + "asn1": { + "version": "0.2.4", + "bundled": true, + "requires": { + "safer-buffer": "~2.1.0" + } + }, + "assert-plus": { + "version": "1.0.0", + "bundled": true + }, + "asynckit": { + "version": "0.4.0", + "bundled": true + }, + "aws-sign2": { + "version": "0.7.0", + "bundled": true + }, + "aws4": { + "version": "1.8.0", + "bundled": true + }, + "balanced-match": { + "version": "1.0.0", + "bundled": true + }, + "bcrypt-pbkdf": { + "version": "1.0.2", + "bundled": true, + "optional": true, + "requires": { + "tweetnacl": "^0.14.3" + } + }, + "bin-links": { + "version": "1.1.2", + "bundled": true, + "requires": { + "bluebird": "^3.5.0", + "cmd-shim": "^2.0.2", + "gentle-fs": "^2.0.0", + "graceful-fs": "^4.1.11", + "write-file-atomic": "^2.3.0" + } + }, + "block-stream": { + "version": "0.0.9", + "bundled": true, + "requires": { + "inherits": "~2.0.0" + } + }, + "bluebird": { + "version": "3.5.3", + "bundled": true + }, + "boxen": { + "version": "1.3.0", + "bundled": true, + "requires": { + "ansi-align": "^2.0.0", + "camelcase": "^4.0.0", + "chalk": "^2.0.1", + "cli-boxes": "^1.0.0", + "string-width": "^2.0.0", + "term-size": "^1.2.0", + "widest-line": "^2.0.0" + } + }, + "brace-expansion": { + "version": "1.1.11", + "bundled": true, + "requires": { + "balanced-match": "^1.0.0", + "concat-map": "0.0.1" + } + }, + "buffer-from": { + "version": "1.0.0", + "bundled": true + }, + "builtins": { + "version": "1.0.3", + "bundled": true + }, + "byline": { + "version": "5.0.0", + "bundled": true + }, + "byte-size": { + "version": "5.0.1", + "bundled": true + }, + "cacache": { + "version": "11.3.2", + "bundled": true, + "requires": { + "bluebird": "^3.5.3", + "chownr": "^1.1.1", + "figgy-pudding": "^3.5.1", + "glob": "^7.1.3", + "graceful-fs": "^4.1.15", + "lru-cache": "^5.1.1", + "mississippi": "^3.0.0", + "mkdirp": "^0.5.1", + "move-concurrently": "^1.0.1", + "promise-inflight": "^1.0.1", + "rimraf": "^2.6.2", + "ssri": "^6.0.1", + "unique-filename": "^1.1.1", + "y18n": "^4.0.0" + }, + "dependencies": { + "chownr": { + "version": "1.1.1", + "bundled": true + }, + "lru-cache": { + "version": "5.1.1", + "bundled": true, + "requires": { + "yallist": "^3.0.2" + } + }, + "unique-filename": { + "version": "1.1.1", + "bundled": true, + "requires": { + "unique-slug": "^2.0.0" + } + }, + "yallist": { + "version": "3.0.3", + "bundled": true + } + } + }, + "call-limit": { + "version": "1.1.0", + "bundled": true + }, + "camelcase": { + "version": "4.1.0", + "bundled": true + }, + "capture-stack-trace": { + "version": "1.0.0", + "bundled": true + }, + "caseless": { + "version": "0.12.0", + "bundled": true + }, + "chalk": { + "version": "2.4.1", + "bundled": true, + "requires": { + "ansi-styles": "^3.2.1", + "escape-string-regexp": "^1.0.5", + "supports-color": "^5.3.0" + } + }, + "chownr": { + "version": "1.1.1", + "bundled": true + }, + "ci-info": { + "version": "2.0.0", + "bundled": true + }, + "cidr-regex": { + "version": "2.0.10", + "bundled": true, + "requires": { + "ip-regex": "^2.1.0" + } + }, + "cli-boxes": { + "version": "1.0.0", + "bundled": true + }, + "cli-columns": { + "version": "3.1.2", + "bundled": true, + "requires": { + "string-width": "^2.0.0", + "strip-ansi": "^3.0.1" + } + }, + "cli-table3": { + "version": "0.5.1", + "bundled": true, + "requires": { + "colors": "^1.1.2", + "object-assign": "^4.1.0", + "string-width": "^2.1.1" + } + }, + "cliui": { + "version": "4.1.0", + "bundled": true, + "requires": { + "string-width": "^2.1.1", + "strip-ansi": "^4.0.0", + "wrap-ansi": "^2.0.0" + }, + "dependencies": { + "ansi-regex": { + "version": "3.0.0", + "bundled": true + }, + "strip-ansi": { + "version": "4.0.0", + "bundled": true, + "requires": { + "ansi-regex": "^3.0.0" + } + } + } + }, + "clone": { + "version": "1.0.4", + "bundled": true + }, + "cmd-shim": { + "version": "2.0.2", + "bundled": true, + "requires": { + "graceful-fs": "^4.1.2", + "mkdirp": "~0.5.0" + } + }, + "co": { + "version": "4.6.0", + "bundled": true + }, + "code-point-at": { + "version": "1.1.0", + "bundled": true + }, + "color-convert": { + "version": "1.9.1", + "bundled": true, + "requires": { + "color-name": "^1.1.1" + } + }, + "color-name": { + "version": "1.1.3", + "bundled": true + }, + "colors": { + "version": "1.3.3", + "bundled": true, + "optional": true + }, + "columnify": { + "version": "1.5.4", + "bundled": true, + "requires": { + "strip-ansi": "^3.0.0", + "wcwidth": "^1.0.0" + } + }, + "combined-stream": { + "version": "1.0.6", + "bundled": true, + "requires": { + "delayed-stream": "~1.0.0" + } + }, + "concat-map": { + "version": "0.0.1", + "bundled": true + }, + "concat-stream": { + "version": "1.6.2", + "bundled": true, + "requires": { + "buffer-from": "^1.0.0", + "inherits": "^2.0.3", + "readable-stream": "^2.2.2", + "typedarray": "^0.0.6" + }, + "dependencies": { + "readable-stream": { + "version": "2.3.6", + "bundled": true, + "requires": { + "core-util-is": "~1.0.0", + "inherits": "~2.0.3", + "isarray": "~1.0.0", + "process-nextick-args": "~2.0.0", + "safe-buffer": "~5.1.1", + "string_decoder": "~1.1.1", + "util-deprecate": "~1.0.1" + } + }, + "string_decoder": { + "version": "1.1.1", + "bundled": true, + "requires": { + "safe-buffer": "~5.1.0" + } + } + } + }, + "config-chain": { + "version": "1.1.12", + "bundled": true, + "requires": { + "ini": "^1.3.4", + "proto-list": "~1.2.1" + } + }, + "configstore": { + "version": "3.1.2", + "bundled": true, + "requires": { + "dot-prop": "^4.1.0", + "graceful-fs": "^4.1.2", + "make-dir": "^1.0.0", + "unique-string": "^1.0.0", + "write-file-atomic": "^2.0.0", + "xdg-basedir": "^3.0.0" + } + }, + "console-control-strings": { + "version": "1.1.0", + "bundled": true + }, + "copy-concurrently": { + "version": "1.0.5", + "bundled": true, + "requires": { + "aproba": "^1.1.1", + "fs-write-stream-atomic": "^1.0.8", + "iferr": "^0.1.5", + "mkdirp": "^0.5.1", + "rimraf": "^2.5.4", + "run-queue": "^1.0.0" + }, + "dependencies": { + "aproba": { + "version": "1.2.0", + "bundled": true + }, + "iferr": { + "version": "0.1.5", + "bundled": true + } + } + }, + "core-util-is": { + "version": "1.0.2", + "bundled": true + }, + "create-error-class": { + "version": "3.0.2", + "bundled": true, + "requires": { + "capture-stack-trace": "^1.0.0" + } + }, + "cross-spawn": { + "version": "5.1.0", + "bundled": true, + "requires": { + "lru-cache": "^4.0.1", + "shebang-command": "^1.2.0", + "which": "^1.2.9" + } + }, + "crypto-random-string": { + "version": "1.0.0", + "bundled": true + }, + "cyclist": { + "version": "0.2.2", + "bundled": true + }, + "dashdash": { + "version": "1.14.1", + "bundled": true, + "requires": { + "assert-plus": "^1.0.0" + } + }, + "debug": { + "version": "3.1.0", + "bundled": true, + "requires": { + "ms": "2.0.0" + }, + "dependencies": { + "ms": { + "version": "2.0.0", + "bundled": true + } + } + }, + "debuglog": { + "version": "1.0.1", + "bundled": true + }, + "decamelize": { + "version": "1.2.0", + "bundled": true + }, + "decode-uri-component": { + "version": "0.2.0", + "bundled": true + }, + "deep-extend": { + "version": "0.5.1", + "bundled": true + }, + "defaults": { + "version": "1.0.3", + "bundled": true, + "requires": { + "clone": "^1.0.2" + } + }, + "delayed-stream": { + "version": "1.0.0", + "bundled": true + }, + "delegates": { + "version": "1.0.0", + "bundled": true + }, + "detect-indent": { + "version": "5.0.0", + "bundled": true + }, + "detect-newline": { + "version": "2.1.0", + "bundled": true + }, + "dezalgo": { + "version": "1.0.3", + "bundled": true, + "requires": { + "asap": "^2.0.0", + "wrappy": "1" + } + }, + "dot-prop": { + "version": "4.2.0", + "bundled": true, + "requires": { + "is-obj": "^1.0.0" + } + }, + "dotenv": { + "version": "5.0.1", + "bundled": true + }, + "duplexer3": { + "version": "0.1.4", + "bundled": true + }, + "duplexify": { + "version": "3.6.0", + "bundled": true, + "requires": { + "end-of-stream": "^1.0.0", + "inherits": "^2.0.1", + "readable-stream": "^2.0.0", + "stream-shift": "^1.0.0" + }, + "dependencies": { + "readable-stream": { + "version": "2.3.6", + "bundled": true, + "requires": { + "core-util-is": "~1.0.0", + "inherits": "~2.0.3", + "isarray": "~1.0.0", + "process-nextick-args": "~2.0.0", + "safe-buffer": "~5.1.1", + "string_decoder": "~1.1.1", + "util-deprecate": "~1.0.1" + } + }, + "string_decoder": { + "version": "1.1.1", + "bundled": true, + "requires": { + "safe-buffer": "~5.1.0" + } + } + } + }, + "ecc-jsbn": { + "version": "0.1.2", + "bundled": true, + "optional": true, + "requires": { + "jsbn": "~0.1.0", + "safer-buffer": "^2.1.0" + } + }, + "editor": { + "version": "1.0.0", + "bundled": true + }, + "encoding": { + "version": "0.1.12", + "bundled": true, + "requires": { + "iconv-lite": "~0.4.13" + } + }, + "end-of-stream": { + "version": "1.4.1", + "bundled": true, + "requires": { + "once": "^1.4.0" + } + }, + "err-code": { + "version": "1.1.2", + "bundled": true + }, + "errno": { + "version": "0.1.7", + "bundled": true, + "requires": { + "prr": "~1.0.1" + } + }, + "es6-promise": { + "version": "4.2.6", + "bundled": true + }, + "es6-promisify": { + "version": "5.0.0", + "bundled": true, + "requires": { + "es6-promise": "^4.0.3" + } + }, + "escape-string-regexp": { + "version": "1.0.5", + "bundled": true + }, + "execa": { + "version": "0.7.0", + "bundled": true, + "requires": { + "cross-spawn": "^5.0.1", + "get-stream": "^3.0.0", + "is-stream": "^1.1.0", + "npm-run-path": "^2.0.0", + "p-finally": "^1.0.0", + "signal-exit": "^3.0.0", + "strip-eof": "^1.0.0" + }, + "dependencies": { + "get-stream": { + "version": "3.0.0", + "bundled": true + } + } + }, + "extend": { + "version": "3.0.2", + "bundled": true + }, + "extsprintf": { + "version": "1.3.0", + "bundled": true + }, + "fast-deep-equal": { + "version": "1.1.0", + "bundled": true + }, + "fast-json-stable-stringify": { + "version": "2.0.0", + "bundled": true + }, + "figgy-pudding": { + "version": "3.5.1", + "bundled": true + }, + "find-npm-prefix": { + "version": "1.0.2", + "bundled": true + }, + "find-up": { + "version": "2.1.0", + "bundled": true, + "requires": { + "locate-path": "^2.0.0" + } + }, + "flush-write-stream": { + "version": "1.0.3", + "bundled": true, + "requires": { + "inherits": "^2.0.1", + "readable-stream": "^2.0.4" + }, + "dependencies": { + "readable-stream": { + "version": "2.3.6", + "bundled": true, + "requires": { + "core-util-is": "~1.0.0", + "inherits": "~2.0.3", + "isarray": "~1.0.0", + "process-nextick-args": "~2.0.0", + "safe-buffer": "~5.1.1", + "string_decoder": "~1.1.1", + "util-deprecate": "~1.0.1" + } + }, + "string_decoder": { + "version": "1.1.1", + "bundled": true, + "requires": { + "safe-buffer": "~5.1.0" + } + } + } + }, + "forever-agent": { + "version": "0.6.1", + "bundled": true + }, + "form-data": { + "version": "2.3.2", + "bundled": true, + "requires": { + "asynckit": "^0.4.0", + "combined-stream": "1.0.6", + "mime-types": "^2.1.12" + } + }, + "from2": { + "version": "2.3.0", + "bundled": true, + "requires": { + "inherits": "^2.0.1", + "readable-stream": "^2.0.0" + }, + "dependencies": { + "readable-stream": { + "version": "2.3.6", + "bundled": true, + "requires": { + "core-util-is": "~1.0.0", + "inherits": "~2.0.3", + "isarray": "~1.0.0", + "process-nextick-args": "~2.0.0", + "safe-buffer": "~5.1.1", + "string_decoder": "~1.1.1", + "util-deprecate": "~1.0.1" + } + }, + "string_decoder": { + "version": "1.1.1", + "bundled": true, + "requires": { + "safe-buffer": "~5.1.0" + } + } + } + }, + "fs-minipass": { + "version": "1.2.5", + "bundled": true, + "requires": { + "minipass": "^2.2.1" + } + }, + "fs-vacuum": { + "version": "1.2.10", + "bundled": true, + "requires": { + "graceful-fs": "^4.1.2", + "path-is-inside": "^1.0.1", + "rimraf": "^2.5.2" + } + }, + "fs-write-stream-atomic": { + "version": "1.0.10", + "bundled": true, + "requires": { + "graceful-fs": "^4.1.2", + "iferr": "^0.1.5", + "imurmurhash": "^0.1.4", + "readable-stream": "1 || 2" + }, + "dependencies": { + "iferr": { + "version": "0.1.5", + "bundled": true + }, + "readable-stream": { + "version": "2.3.6", + "bundled": true, + "requires": { + "core-util-is": "~1.0.0", + "inherits": "~2.0.3", + "isarray": "~1.0.0", + "process-nextick-args": "~2.0.0", + "safe-buffer": "~5.1.1", + "string_decoder": "~1.1.1", + "util-deprecate": "~1.0.1" + } + }, + "string_decoder": { + "version": "1.1.1", + "bundled": true, + "requires": { + "safe-buffer": "~5.1.0" + } + } + } + }, + "fs.realpath": { + "version": "1.0.0", + "bundled": true + }, + "fstream": { + "version": "1.0.11", + "bundled": true, + "requires": { + "graceful-fs": "^4.1.2", + "inherits": "~2.0.0", + "mkdirp": ">=0.5 0", + "rimraf": "2" + } + }, + "gauge": { + "version": "2.7.4", + "bundled": true, + "requires": { + "aproba": "^1.0.3", + "console-control-strings": "^1.0.0", + "has-unicode": "^2.0.0", + "object-assign": "^4.1.0", + "signal-exit": "^3.0.0", + "string-width": "^1.0.1", + "strip-ansi": "^3.0.1", + "wide-align": "^1.1.0" + }, + "dependencies": { + "aproba": { + "version": "1.2.0", + "bundled": true + }, + "string-width": { + "version": "1.0.2", + "bundled": true, + "requires": { + "code-point-at": "^1.0.0", + "is-fullwidth-code-point": "^1.0.0", + "strip-ansi": "^3.0.0" + } + } + } + }, + "genfun": { + "version": "5.0.0", + "bundled": true + }, + "gentle-fs": { + "version": "2.0.1", + "bundled": true, + "requires": { + "aproba": "^1.1.2", + "fs-vacuum": "^1.2.10", + "graceful-fs": "^4.1.11", + "iferr": "^0.1.5", + "mkdirp": "^0.5.1", + "path-is-inside": "^1.0.2", + "read-cmd-shim": "^1.0.1", + "slide": "^1.1.6" + }, + "dependencies": { + "aproba": { + "version": "1.2.0", + "bundled": true + }, + "iferr": { + "version": "0.1.5", + "bundled": true + } + } + }, + "get-caller-file": { + "version": "1.0.2", + "bundled": true + }, + "get-stream": { + "version": "4.1.0", + "bundled": true, + "requires": { + "pump": "^3.0.0" + } + }, + "getpass": { + "version": "0.1.7", + "bundled": true, + "requires": { + "assert-plus": "^1.0.0" + } + }, + "glob": { + "version": "7.1.3", + "bundled": true, + "requires": { + "fs.realpath": "^1.0.0", + "inflight": "^1.0.4", + "inherits": "2", + "minimatch": "^3.0.4", + "once": "^1.3.0", + "path-is-absolute": "^1.0.0" + } + }, + "global-dirs": { + "version": "0.1.1", + "bundled": true, + "requires": { + "ini": "^1.3.4" + } + }, + "got": { + "version": "6.7.1", + "bundled": true, + "requires": { + "create-error-class": "^3.0.0", + "duplexer3": "^0.1.4", + "get-stream": "^3.0.0", + "is-redirect": "^1.0.0", + "is-retry-allowed": "^1.0.0", + "is-stream": "^1.0.0", + "lowercase-keys": "^1.0.0", + "safe-buffer": "^5.0.1", + "timed-out": "^4.0.0", + "unzip-response": "^2.0.1", + "url-parse-lax": "^1.0.0" + }, + "dependencies": { + "get-stream": { + "version": "3.0.0", + "bundled": true + } + } + }, + "graceful-fs": { + "version": "4.1.15", + "bundled": true + }, + "har-schema": { + "version": "2.0.0", + "bundled": true + }, + "har-validator": { + "version": "5.1.0", + "bundled": true, + "requires": { + "ajv": "^5.3.0", + "har-schema": "^2.0.0" + } + }, + "has-flag": { + "version": "3.0.0", + "bundled": true + }, + "has-unicode": { + "version": "2.0.1", + "bundled": true + }, + "hosted-git-info": { + "version": "2.7.1", + "bundled": true + }, + "http-cache-semantics": { + "version": "3.8.1", + "bundled": true + }, + "http-proxy-agent": { + "version": "2.1.0", + "bundled": true, + "requires": { + "agent-base": "4", + "debug": "3.1.0" + } + }, + "http-signature": { + "version": "1.2.0", + "bundled": true, + "requires": { + "assert-plus": "^1.0.0", + "jsprim": "^1.2.2", + "sshpk": "^1.7.0" + } + }, + "https-proxy-agent": { + "version": "2.2.1", + "bundled": true, + "requires": { + "agent-base": "^4.1.0", + "debug": "^3.1.0" + } + }, + "humanize-ms": { + "version": "1.2.1", + "bundled": true, + "requires": { + "ms": "^2.0.0" + } + }, + "iconv-lite": { + "version": "0.4.23", + "bundled": true, + "requires": { + "safer-buffer": ">= 2.1.2 < 3" + } + }, + "iferr": { + "version": "1.0.2", + "bundled": true + }, + "ignore-walk": { + "version": "3.0.1", + "bundled": true, + "requires": { + "minimatch": "^3.0.4" + } + }, + "import-lazy": { + "version": "2.1.0", + "bundled": true + }, + "imurmurhash": { + "version": "0.1.4", + "bundled": true + }, + "inflight": { + "version": "1.0.6", + "bundled": true, + "requires": { + "once": "^1.3.0", + "wrappy": "1" + } + }, + "inherits": { + "version": "2.0.3", + "bundled": true + }, + "ini": { + "version": "1.3.5", + "bundled": true + }, + "init-package-json": { + "version": "1.10.3", + "bundled": true, + "requires": { + "glob": "^7.1.1", + "npm-package-arg": "^4.0.0 || ^5.0.0 || ^6.0.0", + "promzard": "^0.3.0", + "read": "~1.0.1", + "read-package-json": "1 || 2", + "semver": "2.x || 3.x || 4 || 5", + "validate-npm-package-license": "^3.0.1", + "validate-npm-package-name": "^3.0.0" + } + }, + "invert-kv": { + "version": "1.0.0", + "bundled": true + }, + "ip": { + "version": "1.1.5", + "bundled": true + }, + "ip-regex": { + "version": "2.1.0", + "bundled": true + }, + "is-ci": { + "version": "1.1.0", + "bundled": true, + "requires": { + "ci-info": "^1.0.0" + }, + "dependencies": { + "ci-info": { + "version": "1.6.0", + "bundled": true + } + } + }, + "is-cidr": { + "version": "3.0.0", + "bundled": true, + "requires": { + "cidr-regex": "^2.0.10" + } + }, + "is-fullwidth-code-point": { + "version": "1.0.0", + "bundled": true, + "requires": { + "number-is-nan": "^1.0.0" + } + }, + "is-installed-globally": { + "version": "0.1.0", + "bundled": true, + "requires": { + "global-dirs": "^0.1.0", + "is-path-inside": "^1.0.0" + } + }, + "is-npm": { + "version": "1.0.0", + "bundled": true + }, + "is-obj": { + "version": "1.0.1", + "bundled": true + }, + "is-path-inside": { + "version": "1.0.1", + "bundled": true, + "requires": { + "path-is-inside": "^1.0.1" + } + }, + "is-redirect": { + "version": "1.0.0", + "bundled": true + }, + "is-retry-allowed": { + "version": "1.1.0", + "bundled": true + }, + "is-stream": { + "version": "1.1.0", + "bundled": true + }, + "is-typedarray": { + "version": "1.0.0", + "bundled": true + }, + "isarray": { + "version": "1.0.0", + "bundled": true + }, + "isexe": { + "version": "2.0.0", + "bundled": true + }, + "isstream": { + "version": "0.1.2", + "bundled": true + }, + "jsbn": { + "version": "0.1.1", + "bundled": true, + "optional": true + }, + "json-parse-better-errors": { + "version": "1.0.2", + "bundled": true + }, + "json-schema": { + "version": "0.2.3", + "bundled": true + }, + "json-schema-traverse": { + "version": "0.3.1", + "bundled": true + }, + "json-stringify-safe": { + "version": "5.0.1", + "bundled": true + }, + "jsonparse": { + "version": "1.3.1", + "bundled": true + }, + "jsprim": { + "version": "1.4.1", + "bundled": true, + "requires": { + "assert-plus": "1.0.0", + "extsprintf": "1.3.0", + "json-schema": "0.2.3", + "verror": "1.10.0" + } + }, + "latest-version": { + "version": "3.1.0", + "bundled": true, + "requires": { + "package-json": "^4.0.0" + } + }, + "lazy-property": { + "version": "1.0.0", + "bundled": true + }, + "lcid": { + "version": "1.0.0", + "bundled": true, + "requires": { + "invert-kv": "^1.0.0" + } + }, + "libcipm": { + "version": "3.0.3", + "bundled": true, + "requires": { + "bin-links": "^1.1.2", + "bluebird": "^3.5.1", + "figgy-pudding": "^3.5.1", + "find-npm-prefix": "^1.0.2", + "graceful-fs": "^4.1.11", + "ini": "^1.3.5", + "lock-verify": "^2.0.2", + "mkdirp": "^0.5.1", + "npm-lifecycle": "^2.0.3", + "npm-logical-tree": "^1.2.1", + "npm-package-arg": "^6.1.0", + "pacote": "^9.1.0", + "read-package-json": "^2.0.13", + "rimraf": "^2.6.2", + "worker-farm": "^1.6.0" + } + }, + "libnpm": { + "version": "2.0.1", + "bundled": true, + "requires": { + "bin-links": "^1.1.2", + "bluebird": "^3.5.3", + "find-npm-prefix": "^1.0.2", + "libnpmaccess": "^3.0.1", + "libnpmconfig": "^1.2.1", + "libnpmhook": "^5.0.2", + "libnpmorg": "^1.0.0", + "libnpmpublish": "^1.1.0", + "libnpmsearch": "^2.0.0", + "libnpmteam": "^1.0.1", + "lock-verify": "^2.0.2", + "npm-lifecycle": "^2.1.0", + "npm-logical-tree": "^1.2.1", + "npm-package-arg": "^6.1.0", + "npm-profile": "^4.0.1", + "npm-registry-fetch": "^3.8.0", + "npmlog": "^4.1.2", + "pacote": "^9.2.3", + "read-package-json": "^2.0.13", + "stringify-package": "^1.0.0" + } + }, + "libnpmaccess": { + "version": "3.0.1", + "bundled": true, + "requires": { + "aproba": "^2.0.0", + "get-stream": "^4.0.0", + "npm-package-arg": "^6.1.0", + "npm-registry-fetch": "^3.8.0" + }, + "dependencies": { + "aproba": { + "version": "2.0.0", + "bundled": true + } + } + }, + "libnpmconfig": { + "version": "1.2.1", + "bundled": true, + "requires": { + "figgy-pudding": "^3.5.1", + "find-up": "^3.0.0", + "ini": "^1.3.5" + }, + "dependencies": { + "find-up": { + "version": "3.0.0", + "bundled": true, + "requires": { + "locate-path": "^3.0.0" + } + }, + "locate-path": { + "version": "3.0.0", + "bundled": true, + "requires": { + "p-locate": "^3.0.0", + "path-exists": "^3.0.0" + } + }, + "p-limit": { + "version": "2.1.0", + "bundled": true, + "requires": { + "p-try": "^2.0.0" + } + }, + "p-locate": { + "version": "3.0.0", + "bundled": true, + "requires": { + "p-limit": "^2.0.0" + } + }, + "p-try": { + "version": "2.0.0", + "bundled": true + } + } + }, + "libnpmhook": { + "version": "5.0.2", + "bundled": true, + "requires": { + "aproba": "^2.0.0", + "figgy-pudding": "^3.4.1", + "get-stream": "^4.0.0", + "npm-registry-fetch": "^3.8.0" + } + }, + "libnpmorg": { + "version": "1.0.0", + "bundled": true, + "requires": { + "aproba": "^2.0.0", + "figgy-pudding": "^3.4.1", + "get-stream": "^4.0.0", + "npm-registry-fetch": "^3.8.0" + }, + "dependencies": { + "aproba": { + "version": "2.0.0", + "bundled": true + } + } + }, + "libnpmpublish": { + "version": "1.1.1", + "bundled": true, + "requires": { + "aproba": "^2.0.0", + "figgy-pudding": "^3.5.1", + "get-stream": "^4.0.0", + "lodash.clonedeep": "^4.5.0", + "normalize-package-data": "^2.4.0", + "npm-package-arg": "^6.1.0", + "npm-registry-fetch": "^3.8.0", + "semver": "^5.5.1", + "ssri": "^6.0.1" + } + }, + "libnpmsearch": { + "version": "2.0.0", + "bundled": true, + "requires": { + "figgy-pudding": "^3.5.1", + "get-stream": "^4.0.0", + "npm-registry-fetch": "^3.8.0" + } + }, + "libnpmteam": { + "version": "1.0.1", + "bundled": true, + "requires": { + "aproba": "^2.0.0", + "figgy-pudding": "^3.4.1", + "get-stream": "^4.0.0", + "npm-registry-fetch": "^3.8.0" + }, + "dependencies": { + "aproba": { + "version": "2.0.0", + "bundled": true + } + } + }, + "libnpx": { + "version": "10.2.0", + "bundled": true, + "requires": { + "dotenv": "^5.0.1", + "npm-package-arg": "^6.0.0", + "rimraf": "^2.6.2", + "safe-buffer": "^5.1.0", + "update-notifier": "^2.3.0", + "which": "^1.3.0", + "y18n": "^4.0.0", + "yargs": "^11.0.0" + } + }, + "locate-path": { + "version": "2.0.0", + "bundled": true, + "requires": { + "p-locate": "^2.0.0", + "path-exists": "^3.0.0" + } + }, + "lock-verify": { + "version": "2.1.0", + "bundled": true, + "requires": { + "npm-package-arg": "^6.1.0", + "semver": "^5.4.1" + } + }, + "lockfile": { + "version": "1.0.4", + "bundled": true, + "requires": { + "signal-exit": "^3.0.2" + } + }, + "lodash._baseindexof": { + "version": "3.1.0", + "bundled": true + }, + "lodash._baseuniq": { + "version": "4.6.0", + "bundled": true, + "requires": { + "lodash._createset": "~4.0.0", + "lodash._root": "~3.0.0" + } + }, + "lodash._bindcallback": { + "version": "3.0.1", + "bundled": true + }, + "lodash._cacheindexof": { + "version": "3.0.2", + "bundled": true + }, + "lodash._createcache": { + "version": "3.1.2", + "bundled": true, + "requires": { + "lodash._getnative": "^3.0.0" + } + }, + "lodash._createset": { + "version": "4.0.3", + "bundled": true + }, + "lodash._getnative": { + "version": "3.9.1", + "bundled": true + }, + "lodash._root": { + "version": "3.0.1", + "bundled": true + }, + "lodash.clonedeep": { + "version": "4.5.0", + "bundled": true + }, + "lodash.restparam": { + "version": "3.6.1", + "bundled": true + }, + "lodash.union": { + "version": "4.6.0", + "bundled": true + }, + "lodash.uniq": { + "version": "4.5.0", + "bundled": true + }, + "lodash.without": { + "version": "4.4.0", + "bundled": true + }, + "lowercase-keys": { + "version": "1.0.1", + "bundled": true + }, + "lru-cache": { + "version": "4.1.5", + "bundled": true, + "requires": { + "pseudomap": "^1.0.2", + "yallist": "^2.1.2" + } + }, + "make-dir": { + "version": "1.3.0", + "bundled": true, + "requires": { + "pify": "^3.0.0" + } + }, + "make-fetch-happen": { + "version": "4.0.1", + "bundled": true, + "requires": { + "agentkeepalive": "^3.4.1", + "cacache": "^11.0.1", + "http-cache-semantics": "^3.8.1", + "http-proxy-agent": "^2.1.0", + "https-proxy-agent": "^2.2.1", + "lru-cache": "^4.1.2", + "mississippi": "^3.0.0", + "node-fetch-npm": "^2.0.2", + "promise-retry": "^1.1.1", + "socks-proxy-agent": "^4.0.0", + "ssri": "^6.0.0" + } + }, + "meant": { + "version": "1.0.1", + "bundled": true + }, + "mem": { + "version": "1.1.0", + "bundled": true, + "requires": { + "mimic-fn": "^1.0.0" + } + }, + "mime-db": { + "version": "1.35.0", + "bundled": true + }, + "mime-types": { + "version": "2.1.19", + "bundled": true, + "requires": { + "mime-db": "~1.35.0" + } + }, + "mimic-fn": { + "version": "1.2.0", + "bundled": true + }, + "minimatch": { + "version": "3.0.4", + "bundled": true, + "requires": { + "brace-expansion": "^1.1.7" + } + }, + "minimist": { + "version": "0.0.8", + "bundled": true + }, + "minipass": { + "version": "2.3.3", + "bundled": true, + "requires": { + "safe-buffer": "^5.1.2", + "yallist": "^3.0.0" + }, + "dependencies": { + "yallist": { + "version": "3.0.2", + "bundled": true + } + } + }, + "minizlib": { + "version": "1.1.1", + "bundled": true, + "requires": { + "minipass": "^2.2.1" + } + }, + "mississippi": { + "version": "3.0.0", + "bundled": true, + "requires": { + "concat-stream": "^1.5.0", + "duplexify": "^3.4.2", + "end-of-stream": "^1.1.0", + "flush-write-stream": "^1.0.0", + "from2": "^2.1.0", + "parallel-transform": "^1.1.0", + "pump": "^3.0.0", + "pumpify": "^1.3.3", + "stream-each": "^1.1.0", + "through2": "^2.0.0" + } + }, + "mkdirp": { + "version": "0.5.1", + "bundled": true, + "requires": { + "minimist": "0.0.8" + } + }, + "move-concurrently": { + "version": "1.0.1", + "bundled": true, + "requires": { + "aproba": "^1.1.1", + "copy-concurrently": "^1.0.0", + "fs-write-stream-atomic": "^1.0.8", + "mkdirp": "^0.5.1", + "rimraf": "^2.5.4", + "run-queue": "^1.0.3" + }, + "dependencies": { + "aproba": { + "version": "1.2.0", + "bundled": true + } + } + }, + "ms": { + "version": "2.1.1", + "bundled": true + }, + "mute-stream": { + "version": "0.0.7", + "bundled": true + }, + "node-fetch-npm": { + "version": "2.0.2", + "bundled": true, + "requires": { + "encoding": "^0.1.11", + "json-parse-better-errors": "^1.0.0", + "safe-buffer": "^5.1.1" + } + }, + "node-gyp": { + "version": "3.8.0", + "bundled": true, + "requires": { + "fstream": "^1.0.0", + "glob": "^7.0.3", + "graceful-fs": "^4.1.2", + "mkdirp": "^0.5.0", + "nopt": "2 || 3", + "npmlog": "0 || 1 || 2 || 3 || 4", + "osenv": "0", + "request": "^2.87.0", + "rimraf": "2", + "semver": "~5.3.0", + "tar": "^2.0.0", + "which": "1" + }, + "dependencies": { + "nopt": { + "version": "3.0.6", + "bundled": true, + "requires": { + "abbrev": "1" + } + }, + "semver": { + "version": "5.3.0", + "bundled": true + }, + "tar": { + "version": "2.2.1", + "bundled": true, + "requires": { + "block-stream": "*", + "fstream": "^1.0.2", + "inherits": "2" + } + } + } + }, + "nopt": { + "version": "4.0.1", + "bundled": true, + "requires": { + "abbrev": "1", + "osenv": "^0.1.4" + } + }, + "normalize-package-data": { + "version": "2.5.0", + "bundled": true, + "requires": { + "hosted-git-info": "^2.1.4", + "resolve": "^1.10.0", + "semver": "2 || 3 || 4 || 5", + "validate-npm-package-license": "^3.0.1" + }, + "dependencies": { + "resolve": { + "version": "1.10.0", + "bundled": true, + "requires": { + "path-parse": "^1.0.6" + } + } + } + }, + "npm-audit-report": { + "version": "1.3.2", + "bundled": true, + "requires": { + "cli-table3": "^0.5.0", + "console-control-strings": "^1.1.0" + } + }, + "npm-bundled": { + "version": "1.0.6", + "bundled": true + }, + "npm-cache-filename": { + "version": "1.0.2", + "bundled": true + }, + "npm-install-checks": { + "version": "3.0.0", + "bundled": true, + "requires": { + "semver": "^2.3.0 || 3.x || 4 || 5" + } + }, + "npm-lifecycle": { + "version": "2.1.0", + "bundled": true, + "requires": { + "byline": "^5.0.0", + "graceful-fs": "^4.1.11", + "node-gyp": "^3.8.0", + "resolve-from": "^4.0.0", + "slide": "^1.1.6", + "uid-number": "0.0.6", + "umask": "^1.1.0", + "which": "^1.3.1" + } + }, + "npm-logical-tree": { + "version": "1.2.1", + "bundled": true + }, + "npm-package-arg": { + "version": "6.1.0", + "bundled": true, + "requires": { + "hosted-git-info": "^2.6.0", + "osenv": "^0.1.5", + "semver": "^5.5.0", + "validate-npm-package-name": "^3.0.0" + } + }, + "npm-packlist": { + "version": "1.4.1", + "bundled": true, + "requires": { + "ignore-walk": "^3.0.1", + "npm-bundled": "^1.0.1" + } + }, + "npm-pick-manifest": { + "version": "2.2.3", + "bundled": true, + "requires": { + "figgy-pudding": "^3.5.1", + "npm-package-arg": "^6.0.0", + "semver": "^5.4.1" + } + }, + "npm-profile": { + "version": "4.0.1", + "bundled": true, + "requires": { + "aproba": "^1.1.2 || 2", + "figgy-pudding": "^3.4.1", + "npm-registry-fetch": "^3.8.0" + } + }, + "npm-registry-fetch": { + "version": "3.9.0", + "bundled": true, + "requires": { + "JSONStream": "^1.3.4", + "bluebird": "^3.5.1", + "figgy-pudding": "^3.4.1", + "lru-cache": "^4.1.3", + "make-fetch-happen": "^4.0.1", + "npm-package-arg": "^6.1.0" + } + }, + "npm-run-path": { + "version": "2.0.2", + "bundled": true, + "requires": { + "path-key": "^2.0.0" + } + }, + "npm-user-validate": { + "version": "1.0.0", + "bundled": true + }, + "npmlog": { + "version": "4.1.2", + "bundled": true, + "requires": { + "are-we-there-yet": "~1.1.2", + "console-control-strings": "~1.1.0", + "gauge": "~2.7.3", + "set-blocking": "~2.0.0" + } + }, + "number-is-nan": { + "version": "1.0.1", + "bundled": true + }, + "oauth-sign": { + "version": "0.9.0", + "bundled": true + }, + "object-assign": { + "version": "4.1.1", + "bundled": true + }, + "once": { + "version": "1.4.0", + "bundled": true, + "requires": { + "wrappy": "1" + } + }, + "opener": { + "version": "1.5.1", + "bundled": true + }, + "os-homedir": { + "version": "1.0.2", + "bundled": true + }, + "os-locale": { + "version": "2.1.0", + "bundled": true, + "requires": { + "execa": "^0.7.0", + "lcid": "^1.0.0", + "mem": "^1.1.0" + } + }, + "os-tmpdir": { + "version": "1.0.2", + "bundled": true + }, + "osenv": { + "version": "0.1.5", + "bundled": true, + "requires": { + "os-homedir": "^1.0.0", + "os-tmpdir": "^1.0.0" + } + }, + "p-finally": { + "version": "1.0.0", + "bundled": true + }, + "p-limit": { + "version": "1.2.0", + "bundled": true, + "requires": { + "p-try": "^1.0.0" + } + }, + "p-locate": { + "version": "2.0.0", + "bundled": true, + "requires": { + "p-limit": "^1.1.0" + } + }, + "p-try": { + "version": "1.0.0", + "bundled": true + }, + "package-json": { + "version": "4.0.1", + "bundled": true, + "requires": { + "got": "^6.7.1", + "registry-auth-token": "^3.0.1", + "registry-url": "^3.0.3", + "semver": "^5.1.0" + } + }, + "pacote": { + "version": "9.5.0", + "bundled": true, + "requires": { + "bluebird": "^3.5.3", + "cacache": "^11.3.2", + "figgy-pudding": "^3.5.1", + "get-stream": "^4.1.0", + "glob": "^7.1.3", + "lru-cache": "^5.1.1", + "make-fetch-happen": "^4.0.1", + "minimatch": "^3.0.4", + "minipass": "^2.3.5", + "mississippi": "^3.0.0", + "mkdirp": "^0.5.1", + "normalize-package-data": "^2.4.0", + "npm-package-arg": "^6.1.0", + "npm-packlist": "^1.1.12", + "npm-pick-manifest": "^2.2.3", + "npm-registry-fetch": "^3.8.0", + "osenv": "^0.1.5", + "promise-inflight": "^1.0.1", + "promise-retry": "^1.1.1", + "protoduck": "^5.0.1", + "rimraf": "^2.6.2", + "safe-buffer": "^5.1.2", + "semver": "^5.6.0", + "ssri": "^6.0.1", + "tar": "^4.4.8", + "unique-filename": "^1.1.1", + "which": "^1.3.1" + }, + "dependencies": { + "lru-cache": { + "version": "5.1.1", + "bundled": true, + "requires": { + "yallist": "^3.0.2" + } + }, + "minipass": { + "version": "2.3.5", + "bundled": true, + "requires": { + "safe-buffer": "^5.1.2", + "yallist": "^3.0.0" + } + }, + "yallist": { + "version": "3.0.3", + "bundled": true + } + } + }, + "parallel-transform": { + "version": "1.1.0", + "bundled": true, + "requires": { + "cyclist": "~0.2.2", + "inherits": "^2.0.3", + "readable-stream": "^2.1.5" + }, + "dependencies": { + "readable-stream": { + "version": "2.3.6", + "bundled": true, + "requires": { + "core-util-is": "~1.0.0", + "inherits": "~2.0.3", + "isarray": "~1.0.0", + "process-nextick-args": "~2.0.0", + "safe-buffer": "~5.1.1", + "string_decoder": "~1.1.1", + "util-deprecate": "~1.0.1" + } + }, + "string_decoder": { + "version": "1.1.1", + "bundled": true, + "requires": { + "safe-buffer": "~5.1.0" + } + } + } + }, + "path-exists": { + "version": "3.0.0", + "bundled": true + }, + "path-is-absolute": { + "version": "1.0.1", + "bundled": true + }, + "path-is-inside": { + "version": "1.0.2", + "bundled": true + }, + "path-key": { + "version": "2.0.1", + "bundled": true + }, + "path-parse": { + "version": "1.0.6", + "bundled": true + }, + "performance-now": { + "version": "2.1.0", + "bundled": true + }, + "pify": { + "version": "3.0.0", + "bundled": true + }, + "prepend-http": { + "version": "1.0.4", + "bundled": true + }, + "process-nextick-args": { + "version": "2.0.0", + "bundled": true + }, + "promise-inflight": { + "version": "1.0.1", + "bundled": true + }, + "promise-retry": { + "version": "1.1.1", + "bundled": true, + "requires": { + "err-code": "^1.0.0", + "retry": "^0.10.0" + }, + "dependencies": { + "retry": { + "version": "0.10.1", + "bundled": true + } + } + }, + "promzard": { + "version": "0.3.0", + "bundled": true, + "requires": { + "read": "1" + } + }, + "proto-list": { + "version": "1.2.4", + "bundled": true + }, + "protoduck": { + "version": "5.0.1", + "bundled": true, + "requires": { + "genfun": "^5.0.0" + } + }, + "prr": { + "version": "1.0.1", + "bundled": true + }, + "pseudomap": { + "version": "1.0.2", + "bundled": true + }, + "psl": { + "version": "1.1.29", + "bundled": true + }, + "pump": { + "version": "3.0.0", + "bundled": true, + "requires": { + "end-of-stream": "^1.1.0", + "once": "^1.3.1" + } + }, + "pumpify": { + "version": "1.5.1", + "bundled": true, + "requires": { + "duplexify": "^3.6.0", + "inherits": "^2.0.3", + "pump": "^2.0.0" + }, + "dependencies": { + "pump": { + "version": "2.0.1", + "bundled": true, + "requires": { + "end-of-stream": "^1.1.0", + "once": "^1.3.1" + } + } + } + }, + "punycode": { + "version": "1.4.1", + "bundled": true + }, + "qrcode-terminal": { + "version": "0.12.0", + "bundled": true + }, + "qs": { + "version": "6.5.2", + "bundled": true + }, + "query-string": { + "version": "6.2.0", + "bundled": true, + "requires": { + "decode-uri-component": "^0.2.0", + "strict-uri-encode": "^2.0.0" + } + }, + "qw": { + "version": "1.0.1", + "bundled": true + }, + "rc": { + "version": "1.2.7", + "bundled": true, + "requires": { + "deep-extend": "^0.5.1", + "ini": "~1.3.0", + "minimist": "^1.2.0", + "strip-json-comments": "~2.0.1" + }, + "dependencies": { + "minimist": { + "version": "1.2.0", + "bundled": true + } + } + }, + "read": { + "version": "1.0.7", + "bundled": true, + "requires": { + "mute-stream": "~0.0.4" + } + }, + "read-cmd-shim": { + "version": "1.0.1", + "bundled": true, + "requires": { + "graceful-fs": "^4.1.2" + } + }, + "read-installed": { + "version": "4.0.3", + "bundled": true, + "requires": { + "debuglog": "^1.0.1", + "graceful-fs": "^4.1.2", + "read-package-json": "^2.0.0", + "readdir-scoped-modules": "^1.0.0", + "semver": "2 || 3 || 4 || 5", + "slide": "~1.1.3", + "util-extend": "^1.0.1" + } + }, + "read-package-json": { + "version": "2.0.13", + "bundled": true, + "requires": { + "glob": "^7.1.1", + "graceful-fs": "^4.1.2", + "json-parse-better-errors": "^1.0.1", + "normalize-package-data": "^2.0.0", + "slash": "^1.0.0" + } + }, + "read-package-tree": { + "version": "5.2.2", + "bundled": true, + "requires": { + "debuglog": "^1.0.1", + "dezalgo": "^1.0.0", + "once": "^1.3.0", + "read-package-json": "^2.0.0", + "readdir-scoped-modules": "^1.0.0" + } + }, + "readable-stream": { + "version": "3.1.1", + "bundled": true, + "requires": { + "inherits": "^2.0.3", + "string_decoder": "^1.1.1", + "util-deprecate": "^1.0.1" + } + }, + "readdir-scoped-modules": { + "version": "1.0.2", + "bundled": true, + "requires": { + "debuglog": "^1.0.1", + "dezalgo": "^1.0.0", + "graceful-fs": "^4.1.2", + "once": "^1.3.0" + } + }, + "registry-auth-token": { + "version": "3.3.2", + "bundled": true, + "requires": { + "rc": "^1.1.6", + "safe-buffer": "^5.0.1" + } + }, + "registry-url": { + "version": "3.1.0", + "bundled": true, + "requires": { + "rc": "^1.0.1" + } + }, + "request": { + "version": "2.88.0", + "bundled": true, + "requires": { + "aws-sign2": "~0.7.0", + "aws4": "^1.8.0", + "caseless": "~0.12.0", + "combined-stream": "~1.0.6", + "extend": "~3.0.2", + "forever-agent": "~0.6.1", + "form-data": "~2.3.2", + "har-validator": "~5.1.0", + "http-signature": "~1.2.0", + "is-typedarray": "~1.0.0", + "isstream": "~0.1.2", + "json-stringify-safe": "~5.0.1", + "mime-types": "~2.1.19", + "oauth-sign": "~0.9.0", + "performance-now": "^2.1.0", + "qs": "~6.5.2", + "safe-buffer": "^5.1.2", + "tough-cookie": "~2.4.3", + "tunnel-agent": "^0.6.0", + "uuid": "^3.3.2" + } + }, + "require-directory": { + "version": "2.1.1", + "bundled": true + }, + "require-main-filename": { + "version": "1.0.1", + "bundled": true + }, + "resolve-from": { + "version": "4.0.0", + "bundled": true + }, + "retry": { + "version": "0.12.0", + "bundled": true + }, + "rimraf": { + "version": "2.6.3", + "bundled": true, + "requires": { + "glob": "^7.1.3" + } + }, + "run-queue": { + "version": "1.0.3", + "bundled": true, + "requires": { + "aproba": "^1.1.1" + }, + "dependencies": { + "aproba": { + "version": "1.2.0", + "bundled": true + } + } + }, + "safe-buffer": { + "version": "5.1.2", + "bundled": true + }, + "safer-buffer": { + "version": "2.1.2", + "bundled": true + }, + "semver": { + "version": "5.6.0", + "bundled": true + }, + "semver-diff": { + "version": "2.1.0", + "bundled": true, + "requires": { + "semver": "^5.0.3" + } + }, + "set-blocking": { + "version": "2.0.0", + "bundled": true + }, + "sha": { + "version": "2.0.1", + "bundled": true, + "requires": { + "graceful-fs": "^4.1.2", + "readable-stream": "^2.0.2" + }, + "dependencies": { + "readable-stream": { + "version": "2.3.6", + "bundled": true, + "requires": { + "core-util-is": "~1.0.0", + "inherits": "~2.0.3", + "isarray": "~1.0.0", + "process-nextick-args": "~2.0.0", + "safe-buffer": "~5.1.1", + "string_decoder": "~1.1.1", + "util-deprecate": "~1.0.1" + } + }, + "string_decoder": { + "version": "1.1.1", + "bundled": true, + "requires": { + "safe-buffer": "~5.1.0" + } + } + } + }, + "shebang-command": { + "version": "1.2.0", + "bundled": true, + "requires": { + "shebang-regex": "^1.0.0" + } + }, + "shebang-regex": { + "version": "1.0.0", + "bundled": true + }, + "signal-exit": { + "version": "3.0.2", + "bundled": true + }, + "slash": { + "version": "1.0.0", + "bundled": true + }, + "slide": { + "version": "1.1.6", + "bundled": true + }, + "smart-buffer": { + "version": "4.0.1", + "bundled": true + }, + "socks": { + "version": "2.2.0", + "bundled": true, + "requires": { + "ip": "^1.1.5", + "smart-buffer": "^4.0.1" + } + }, + "socks-proxy-agent": { + "version": "4.0.1", + "bundled": true, + "requires": { + "agent-base": "~4.2.0", + "socks": "~2.2.0" + } + }, + "sorted-object": { + "version": "2.0.1", + "bundled": true + }, + "sorted-union-stream": { + "version": "2.1.3", + "bundled": true, + "requires": { + "from2": "^1.3.0", + "stream-iterate": "^1.1.0" + }, + "dependencies": { + "from2": { + "version": "1.3.0", + "bundled": true, + "requires": { + "inherits": "~2.0.1", + "readable-stream": "~1.1.10" + } + }, + "isarray": { + "version": "0.0.1", + "bundled": true + }, + "readable-stream": { + "version": "1.1.14", + "bundled": true, + "requires": { + "core-util-is": "~1.0.0", + "inherits": "~2.0.1", + "isarray": "0.0.1", + "string_decoder": "~0.10.x" + } + }, + "string_decoder": { + "version": "0.10.31", + "bundled": true + } + } + }, + "spdx-correct": { + "version": "3.0.0", + "bundled": true, + "requires": { + "spdx-expression-parse": "^3.0.0", + "spdx-license-ids": "^3.0.0" + } + }, + "spdx-exceptions": { + "version": "2.1.0", + "bundled": true + }, + "spdx-expression-parse": { + "version": "3.0.0", + "bundled": true, + "requires": { + "spdx-exceptions": "^2.1.0", + "spdx-license-ids": "^3.0.0" + } + }, + "spdx-license-ids": { + "version": "3.0.3", + "bundled": true + }, + "sshpk": { + "version": "1.14.2", + "bundled": true, + "requires": { + "asn1": "~0.2.3", + "assert-plus": "^1.0.0", + "bcrypt-pbkdf": "^1.0.0", + "dashdash": "^1.12.0", + "ecc-jsbn": "~0.1.1", + "getpass": "^0.1.1", + "jsbn": "~0.1.0", + "safer-buffer": "^2.0.2", + "tweetnacl": "~0.14.0" + } + }, + "ssri": { + "version": "6.0.1", + "bundled": true, + "requires": { + "figgy-pudding": "^3.5.1" + } + }, + "stream-each": { + "version": "1.2.2", + "bundled": true, + "requires": { + "end-of-stream": "^1.1.0", + "stream-shift": "^1.0.0" + } + }, + "stream-iterate": { + "version": "1.2.0", + "bundled": true, + "requires": { + "readable-stream": "^2.1.5", + "stream-shift": "^1.0.0" + }, + "dependencies": { + "readable-stream": { + "version": "2.3.6", + "bundled": true, + "requires": { + "core-util-is": "~1.0.0", + "inherits": "~2.0.3", + "isarray": "~1.0.0", + "process-nextick-args": "~2.0.0", + "safe-buffer": "~5.1.1", + "string_decoder": "~1.1.1", + "util-deprecate": "~1.0.1" + } + }, + "string_decoder": { + "version": "1.1.1", + "bundled": true, + "requires": { + "safe-buffer": "~5.1.0" + } + } + } + }, + "stream-shift": { + "version": "1.0.0", + "bundled": true + }, + "strict-uri-encode": { + "version": "2.0.0", + "bundled": true + }, + "string-width": { + "version": "2.1.1", + "bundled": true, + "requires": { + "is-fullwidth-code-point": "^2.0.0", + "strip-ansi": "^4.0.0" + }, + "dependencies": { + "ansi-regex": { + "version": "3.0.0", + "bundled": true + }, + "is-fullwidth-code-point": { + "version": "2.0.0", + "bundled": true + }, + "strip-ansi": { + "version": "4.0.0", + "bundled": true, + "requires": { + "ansi-regex": "^3.0.0" + } + } + } + }, + "string_decoder": { + "version": "1.2.0", + "bundled": true, + "requires": { + "safe-buffer": "~5.1.0" + } + }, + "stringify-package": { + "version": "1.0.0", + "bundled": true + }, + "strip-ansi": { + "version": "3.0.1", + "bundled": true, + "requires": { + "ansi-regex": "^2.0.0" + } + }, + "strip-eof": { + "version": "1.0.0", + "bundled": true + }, + "strip-json-comments": { + "version": "2.0.1", + "bundled": true + }, + "supports-color": { + "version": "5.4.0", + "bundled": true, + "requires": { + "has-flag": "^3.0.0" + } + }, + "tar": { + "version": "4.4.8", + "bundled": true, + "requires": { + "chownr": "^1.1.1", + "fs-minipass": "^1.2.5", + "minipass": "^2.3.4", + "minizlib": "^1.1.1", + "mkdirp": "^0.5.0", + "safe-buffer": "^5.1.2", + "yallist": "^3.0.2" + }, + "dependencies": { + "chownr": { + "version": "1.1.1", + "bundled": true + }, + "minipass": { + "version": "2.3.5", + "bundled": true, + "requires": { + "safe-buffer": "^5.1.2", + "yallist": "^3.0.0" + } + }, + "yallist": { + "version": "3.0.3", + "bundled": true + } + } + }, + "term-size": { + "version": "1.2.0", + "bundled": true, + "requires": { + "execa": "^0.7.0" + } + }, + "text-table": { + "version": "0.2.0", + "bundled": true + }, + "through": { + "version": "2.3.8", + "bundled": true + }, + "through2": { + "version": "2.0.3", + "bundled": true, + "requires": { + "readable-stream": "^2.1.5", + "xtend": "~4.0.1" + }, + "dependencies": { + "readable-stream": { + "version": "2.3.6", + "bundled": true, + "requires": { + "core-util-is": "~1.0.0", + "inherits": "~2.0.3", + "isarray": "~1.0.0", + "process-nextick-args": "~2.0.0", + "safe-buffer": "~5.1.1", + "string_decoder": "~1.1.1", + "util-deprecate": "~1.0.1" + } + }, + "string_decoder": { + "version": "1.1.1", + "bundled": true, + "requires": { + "safe-buffer": "~5.1.0" + } + } + } + }, + "timed-out": { + "version": "4.0.1", + "bundled": true + }, + "tiny-relative-date": { + "version": "1.3.0", + "bundled": true + }, + "tough-cookie": { + "version": "2.4.3", + "bundled": true, + "requires": { + "psl": "^1.1.24", + "punycode": "^1.4.1" + } + }, + "tunnel-agent": { + "version": "0.6.0", + "bundled": true, + "requires": { + "safe-buffer": "^5.0.1" + } + }, + "tweetnacl": { + "version": "0.14.5", + "bundled": true, + "optional": true + }, + "typedarray": { + "version": "0.0.6", + "bundled": true + }, + "uid-number": { + "version": "0.0.6", + "bundled": true + }, + "umask": { + "version": "1.1.0", + "bundled": true + }, + "unique-filename": { + "version": "1.1.1", + "bundled": true, + "requires": { + "unique-slug": "^2.0.0" + } + }, + "unique-slug": { + "version": "2.0.0", + "bundled": true, + "requires": { + "imurmurhash": "^0.1.4" + } + }, + "unique-string": { + "version": "1.0.0", + "bundled": true, + "requires": { + "crypto-random-string": "^1.0.0" + } + }, + "unpipe": { + "version": "1.0.0", + "bundled": true + }, + "unzip-response": { + "version": "2.0.1", + "bundled": true + }, + "update-notifier": { + "version": "2.5.0", + "bundled": true, + "requires": { + "boxen": "^1.2.1", + "chalk": "^2.0.1", + "configstore": "^3.0.0", + "import-lazy": "^2.1.0", + "is-ci": "^1.0.10", + "is-installed-globally": "^0.1.0", + "is-npm": "^1.0.0", + "latest-version": "^3.0.0", + "semver-diff": "^2.0.0", + "xdg-basedir": "^3.0.0" + } + }, + "url-parse-lax": { + "version": "1.0.0", + "bundled": true, + "requires": { + "prepend-http": "^1.0.1" + } + }, + "util-deprecate": { + "version": "1.0.2", + "bundled": true + }, + "util-extend": { + "version": "1.0.3", + "bundled": true + }, + "uuid": { + "version": "3.3.2", + "bundled": true + }, + "validate-npm-package-license": { + "version": "3.0.4", + "bundled": true, + "requires": { + "spdx-correct": "^3.0.0", + "spdx-expression-parse": "^3.0.0" + } + }, + "validate-npm-package-name": { + "version": "3.0.0", + "bundled": true, + "requires": { + "builtins": "^1.0.3" + } + }, + "verror": { + "version": "1.10.0", + "bundled": true, + "requires": { + "assert-plus": "^1.0.0", + "core-util-is": "1.0.2", + "extsprintf": "^1.2.0" + } + }, + "wcwidth": { + "version": "1.0.1", + "bundled": true, + "requires": { + "defaults": "^1.0.3" + } + }, + "which": { + "version": "1.3.1", + "bundled": true, + "requires": { + "isexe": "^2.0.0" + } + }, + "which-module": { + "version": "2.0.0", + "bundled": true + }, + "wide-align": { + "version": "1.1.2", + "bundled": true, + "requires": { + "string-width": "^1.0.2" + }, + "dependencies": { + "string-width": { + "version": "1.0.2", + "bundled": true, + "requires": { + "code-point-at": "^1.0.0", + "is-fullwidth-code-point": "^1.0.0", + "strip-ansi": "^3.0.0" + } + } + } + }, + "widest-line": { + "version": "2.0.0", + "bundled": true, + "requires": { + "string-width": "^2.1.1" + } + }, + "worker-farm": { + "version": "1.6.0", + "bundled": true, + "requires": { + "errno": "~0.1.7" + } + }, + "wrap-ansi": { + "version": "2.1.0", + "bundled": true, + "requires": { + "string-width": "^1.0.1", + "strip-ansi": "^3.0.1" + }, + "dependencies": { + "string-width": { + "version": "1.0.2", + "bundled": true, + "requires": { + "code-point-at": "^1.0.0", + "is-fullwidth-code-point": "^1.0.0", + "strip-ansi": "^3.0.0" + } + } + } + }, + "wrappy": { + "version": "1.0.2", + "bundled": true + }, + "write-file-atomic": { + "version": "2.4.2", + "bundled": true, + "requires": { + "graceful-fs": "^4.1.11", + "imurmurhash": "^0.1.4", + "signal-exit": "^3.0.2" + } + }, + "xdg-basedir": { + "version": "3.0.0", + "bundled": true + }, + "xtend": { + "version": "4.0.1", + "bundled": true + }, + "y18n": { + "version": "4.0.0", + "bundled": true + }, + "yallist": { + "version": "2.1.2", + "bundled": true + }, + "yargs": { + "version": "11.0.0", + "bundled": true, + "requires": { + "cliui": "^4.0.0", + "decamelize": "^1.1.1", + "find-up": "^2.1.0", + "get-caller-file": "^1.0.1", + "os-locale": "^2.0.0", + "require-directory": "^2.1.1", + "require-main-filename": "^1.0.1", + "set-blocking": "^2.0.0", + "string-width": "^2.0.0", + "which-module": "^2.0.0", + "y18n": "^3.2.1", + "yargs-parser": "^9.0.2" + }, + "dependencies": { + "y18n": { + "version": "3.2.1", + "bundled": true + } + } + }, + "yargs-parser": { + "version": "9.0.2", + "bundled": true, + "requires": { + "camelcase": "^4.1.0" + } + } + } + }, "npm-run-path": { "version": "2.0.2", "resolved": "https://registry.npmjs.org/npm-run-path/-/npm-run-path-2.0.2.tgz", diff --git a/package.json b/package.json index cf02581..742fa5f 100644 --- a/package.json +++ b/package.json @@ -27,10 +27,14 @@ "core-js": "~2.5", "css-loader": "^2.1.0", "cssnano": "^4.1.10", + "file-saver": "^2.0.1", "html-loader": "^0.5.5", "html-webpack-plugin": "^3.2.0", + "i": "^0.3.6", "minify": "^4.1.1", + "ngx-material-file-input": "^1.1.1", "node-sass": "^4.11.0", + "npm": "^6.9.0", "parchment": "^1.1.4", "rxjs": "~6.4.0", "sass-loader": "^7.1.0", diff --git a/resources/test/xml/document1.xml b/resources/test/xml/document1.xml index c298745..b8d1564 100755 --- a/resources/test/xml/document1.xml +++ b/resources/test/xml/document1.xml @@ -39,7 +39,7 @@ Brad Robert Reback - Stifel, Nicolaus & Co., Inc. Operator -Greetings, and welcome to the Microsoft Fiscal Year 2019 First Quarter Earnings Conference Call. As a reminder, this conference is being recorded. It is now my pleasure to introduce your host, Mike Spencer, General Manager, Investor Relations. Thank you. You may begin. +Greetings, and welcome to the Microsoft Fiscal Year 2019 First Quarter Earnings Conference Call. As a reminder, this conference is being recorded. It is now my pleasure to introduce your host, Mike Spencer, General Manager, Investor Relations. Thank you. You may begin. Michael Spencer - Microsoft Corp. diff --git a/src/app/app-routing.module.ts b/src/app/app-routing.module.ts index b0bcaa4..06e0330 100644 --- a/src/app/app-routing.module.ts +++ b/src/app/app-routing.module.ts @@ -5,27 +5,25 @@ import { HomeComponent } from './shared/components/home/home.component'; import { TextEditComponent} from './shared/components/textedit/textedit.component'; import { TreeComponent } from './shared/components/tree/tree.component'; import { DocumentUploadComponent } from './shared/components/documentupload/documentupload.component'; -import { TreeStoringComponent } from './shared/components/treestoring/treestoring.component'; -import { TreeUploadComponent } from './shared/components/treeupload/treeupload.component'; -import { FloatingTagChooserComponent } from './shared/components/floatintagchooser/floatingtagchooser.component'; +import { TreeUploadComponent } from './modules/tree/components/treeupload/treeupload.component'; import { DocumentComponent } from './shared/components/document/document.component'; import { PageNotFoundComponent } from './shared/components/pagenotfound/pagenotfound.component'; +import { DocumentDeleteComponent } from './shared/components/documentdelete/documentdelete.component'; +import { TreeModule } from 'Modules/tree/tree.module'; const appRoutes: Routes = [ { path: "", component: HomeComponent }, { path: "editor", component: TextEditComponent }, { path: "documents/upload", component: DocumentUploadComponent }, - { path: "documents/:id", component: DocumentComponent }, - { path: "ftc", component: FloatingTagChooserComponent }, - { path: "tree", component: TreeComponent }, - { path: "treestoring", component: TreeStoringComponent }, - { path: "trees/upload", component: TreeUploadComponent }, + { path: "documents/view/:id", component: DocumentComponent }, + { path: "documents/delete/:id", component: DocumentDeleteComponent }, { path: "**", component: PageNotFoundComponent } ]; @NgModule({ imports: [ - RouterModule.forRoot(appRoutes) + RouterModule.forRoot(appRoutes), + TreeModule ], exports: [ RouterModule diff --git a/src/app/app.component.html b/src/app/app.component.html index 9373499..2a900b9 100644 --- a/src/app/app.component.html +++ b/src/app/app.component.html @@ -1,12 +1,10 @@ diff --git a/src/app/app.component.scss b/src/app/app.component.scss index 68ecb77..8d8ad21 100644 --- a/src/app/app.component.scss +++ b/src/app/app.component.scss @@ -1,7 +1,6 @@ @import "../styles/theme.scss"; body { - font-family: 'Roboto'; margin: 0; } diff --git a/src/app/app.module.ts b/src/app/app.module.ts index 9d48876..350143e 100644 --- a/src/app/app.module.ts +++ b/src/app/app.module.ts @@ -12,10 +12,10 @@ import { MatChipsModule, MatProgressBarModule, MatTreeModule, - MatDialog, MatDialogModule, MatInputModule, - MatCardModule + MatCardModule, + MatTableModule, } from "@angular/material"; import { AppComponent } from "./app.component"; @@ -29,19 +29,20 @@ import { CustomTextareaComponent } from "./shared/components/textedit/components import { PortalModule } from "@angular/cdk/portal"; import { MatChipFactory } from "./shared/components/matchipfactory/matchipfactory.component"; import { TagComponent } from "./shared/components/tag/tag.component"; -import { XmlUploadComponent } from "./shared/components/xmlupload/xmlupload.component"; -import { TreeComponent } from "./shared/components/tree/tree.component"; import { DocumentUploadComponent } from "./shared/components/documentupload/documentupload.component"; -import { TreeStoringComponent } from "./shared/components/treestoring/treestoring.component"; -import { TreeUploadComponent } from "./shared/components/treeupload/treeupload.component"; import { FloatingTagChooserComponent } from "./shared/components/floatintagchooser/floatingtagchooser.component"; import { IconColorDirective } from "./directives/iconcolor/iconcolor.directive"; import { DocumentComponent } from "./shared/components/document/document.component"; import { DocumentPreviewComponent } from "./shared/components/documentpreview/document-preview.component"; import { PageNotFoundComponent } from "./shared/components/pagenotfound/pagenotfound.component"; import { DocumentUploadTitleDialogComponent } from "./shared/components/documentupload/components/document-upload-title-dialog.component"; -import { FormsModule } from "@angular/forms"; +import { FormsModule, ReactiveFormsModule } from "@angular/forms"; import { CommonModule } from "@angular/common"; +import { DocumentDeleteComponent } from "./shared/components/documentdelete/documentdelete.component"; +import { CdkColumnDef } from "@angular/cdk/table"; +import { TreeModule } from "Modules/tree/tree.module"; +import { XMLModule } from "Modules/xml/xml.module"; +import { DocTTCommonModule } from "Modules/doctt_common/doctt_common.module"; @NgModule({ declarations: [ @@ -52,23 +53,20 @@ import { CommonModule } from "@angular/common"; CustomTextareaComponent, MatChipFactory, IconColorDirective, - TagComponent, - XmlUploadComponent, - TreeComponent, DocumentUploadComponent, - TreeStoringComponent, - TreeUploadComponent, + TagComponent, FloatingTagChooserComponent, DocumentComponent, DocumentPreviewComponent, PageNotFoundComponent, - DocumentUploadTitleDialogComponent + DocumentUploadTitleDialogComponent, + DocumentDeleteComponent, ], imports: [ BrowserAnimationsModule, BrowserModule, AppRoutingModule, - MatButtonModule, + MatIconModule, MatMenuModule, MatToolbarModule, MatCheckboxModule, @@ -76,16 +74,21 @@ import { CommonModule } from "@angular/common"; MatProgressBarModule, MatSidenavModule, MatTreeModule, + MatTableModule, MatChipsModule, PortalModule, MatDialogModule, MatInputModule, FormsModule, MatCardModule, - CommonModule + ReactiveFormsModule, + TreeModule, + XMLModule, + DocTTCommonModule ], - providers: [], + providers: [CdkColumnDef], bootstrap: [AppComponent], - entryComponents: [TagComponent, DocumentUploadTitleDialogComponent] + entryComponents: [TagComponent, DocumentUploadTitleDialogComponent, + ] }) export class AppModule {} diff --git a/src/app/modules/doctt_common/doctt_common.module.ts b/src/app/modules/doctt_common/doctt_common.module.ts new file mode 100644 index 0000000..e92db07 --- /dev/null +++ b/src/app/modules/doctt_common/doctt_common.module.ts @@ -0,0 +1,33 @@ +import { NgModule } from '@angular/core'; +import { CommonModule } from '@angular/common'; +import { MatButton, MatButtonModule, MatFormFieldModule, MatIconModule, MatCardModule } from '@angular/material'; +import { ReactiveFormsModule, FormsModule } from '@angular/forms'; +import { BrowserModule } from '@angular/platform-browser'; +import { BrowserAnimationsModule } from '@angular/platform-browser/animations'; + +@NgModule({ + declarations: [], + imports: [ CommonModule, + ReactiveFormsModule, + BrowserModule, + BrowserAnimationsModule, + MatButtonModule, + FormsModule, + MatFormFieldModule, + MatIconModule, + MatCardModule + ], + exports: [ + CommonModule, + ReactiveFormsModule, + BrowserModule, + BrowserAnimationsModule, + MatButtonModule, + FormsModule, + MatFormFieldModule, + MatIconModule, + MatCardModule + ], + providers: [], +}) +export class DocTTCommonModule {} \ No newline at end of file diff --git a/src/app/modules/menu/components/menu/menu.component.html b/src/app/modules/menu/components/menu/menu.component.html deleted file mode 100644 index 7b48662..0000000 --- a/src/app/modules/menu/components/menu/menu.component.html +++ /dev/null @@ -1,3 +0,0 @@ -
-

Menu Page

-
\ No newline at end of file diff --git a/src/app/modules/menu/components/menu/menu.component.scss b/src/app/modules/menu/components/menu/menu.component.scss deleted file mode 100644 index 81df607..0000000 --- a/src/app/modules/menu/components/menu/menu.component.scss +++ /dev/null @@ -1,5 +0,0 @@ -div { - h1 { - color: #F00; - } -} \ No newline at end of file diff --git a/src/app/modules/menu/components/menu/menu.component.ts b/src/app/modules/menu/components/menu/menu.component.ts deleted file mode 100644 index e366876..0000000 --- a/src/app/modules/menu/components/menu/menu.component.ts +++ /dev/null @@ -1,9 +0,0 @@ -import { Component } from '@angular/core'; - -@Component({ - selector: 'menu-page', - templateUrl: './menu.component.html', - styleUrls: ['./menu.component.scss'] -}) - -export class MenuComponent {} \ No newline at end of file diff --git a/src/app/modules/menu/menu-routing.module.ts b/src/app/modules/menu/menu-routing.module.ts deleted file mode 100644 index 36df68e..0000000 --- a/src/app/modules/menu/menu-routing.module.ts +++ /dev/null @@ -1,21 +0,0 @@ -import { NgModule } from '@angular/core'; -import { RouterModule, Routes } from '@angular/router'; - -import { MenuComponent } from './components/menu/menu.component'; - -const appRoutes: Routes = [ - { path: '', component: MenuComponent }, - { path: 'a', component: MenuComponent } -]; - -@NgModule({ - imports: [ - RouterModule.forChild(appRoutes) - ], - exports: [ - RouterModule - ] -}) - - -export class MenuRoutingModule {} \ No newline at end of file diff --git a/src/app/modules/menu/menu.module.ts b/src/app/modules/menu/menu.module.ts deleted file mode 100644 index 0c5d8dc..0000000 --- a/src/app/modules/menu/menu.module.ts +++ /dev/null @@ -1,18 +0,0 @@ -import { NgModule } from '@angular/core'; -import { CommonModule } from '@angular/common'; - -import { MenuRoutingModule } from './menu-routing.module'; -import { MenuComponent } from './components/menu/menu.component'; - -@NgModule({ - declarations: [ - MenuComponent - ], - imports: [ - CommonModule, - MenuRoutingModule - ], - providers: [] -}) - -export class MenuModule { } \ No newline at end of file diff --git a/src/app/shared/components/treeupload/treeupload.component.html b/src/app/modules/tree/components/treeupload/treeupload.component.html similarity index 64% rename from src/app/shared/components/treeupload/treeupload.component.html rename to src/app/modules/tree/components/treeupload/treeupload.component.html index 2c44a56..3ea8ef9 100644 --- a/src/app/shared/components/treeupload/treeupload.component.html +++ b/src/app/modules/tree/components/treeupload/treeupload.component.html @@ -1,4 +1,4 @@ +

Tree Upload

-
-
\ No newline at end of file +

\ No newline at end of file
diff --git a/src/app/shared/components/treeupload/treeupload.component.scss b/src/app/modules/tree/components/treeupload/treeupload.component.scss
similarity index 100%
rename from src/app/shared/components/treeupload/treeupload.component.scss
rename to src/app/modules/tree/components/treeupload/treeupload.component.scss
diff --git a/src/app/shared/components/treeupload/treeupload.component.ts b/src/app/modules/tree/components/treeupload/treeupload.component.ts
similarity index 90%
rename from src/app/shared/components/treeupload/treeupload.component.ts
rename to src/app/modules/tree/components/treeupload/treeupload.component.ts
index 91e3670..7a374b5 100644
--- a/src/app/shared/components/treeupload/treeupload.component.ts
+++ b/src/app/modules/tree/components/treeupload/treeupload.component.ts
@@ -1,8 +1,8 @@
 import { Component, OnInit, ViewChild, Input, ElementRef, ViewEncapsulation } from '@angular/core';
-import { XmlUploadComponent } from '../xmlupload/xmlupload.component';
 import { TreeFile } from 'Models/tree/Tree';
 import { TreeParserService } from 'Services/parser/tree/TreeParser';
-import { TreeComponent } from '../tree/tree.component';
+import { TreeComponent } from 'Components/tree/tree.component';
+import { XmlUploadComponent } from 'Modules/xml/components/xmlupload/xmlupload.component';
 
 @Component({
   selector: "doctt-treeupload",
@@ -17,6 +17,8 @@ export class TreeUploadComponent implements OnInit {
   @ViewChild("resultBox") resultBox: ElementRef;
   @ViewChild("tree") treeComponent: TreeComponent;
 
+  private debug : boolean = false;
+
   ngOnInit(): void {}
 
   jsHighlight(json: string): string {
diff --git a/src/app/modules/tree/components/treeview/treeview.component.html b/src/app/modules/tree/components/treeview/treeview.component.html
new file mode 100644
index 0000000..bc645b0
--- /dev/null
+++ b/src/app/modules/tree/components/treeview/treeview.component.html
@@ -0,0 +1,2 @@
+

Current Tree

+ \ No newline at end of file diff --git a/src/app/modules/tree/components/treeview/treeview.component.scss b/src/app/modules/tree/components/treeview/treeview.component.scss new file mode 100644 index 0000000..3a203a8 --- /dev/null +++ b/src/app/modules/tree/components/treeview/treeview.component.scss @@ -0,0 +1,20 @@ +pre.result-box { + outline: 1px solid #ccc; + padding: 5px; + margin: 5px; + .string { + color: green; + } + .number { + color: darkorange; + } + .boolean { + color: blue; + } + .null { + color: magenta; + } + .key { + color: red; + } +} diff --git a/src/app/modules/tree/components/treeview/treeview.component.ts b/src/app/modules/tree/components/treeview/treeview.component.ts new file mode 100644 index 0000000..61041de --- /dev/null +++ b/src/app/modules/tree/components/treeview/treeview.component.ts @@ -0,0 +1,12 @@ +import { Component, OnInit } from '@angular/core'; + +@Component({ + selector: 'doctt-treeview', + templateUrl: './treeview.component.html', + styleUrls: ['./treeview.component.scss'] +}) +export class TreeViewComponent implements OnInit { + constructor() { } + + ngOnInit(): void { } +} diff --git a/src/app/shared/components/treestoring/treestoring.component.html b/src/app/modules/tree/components/unused_treestoring/treestoring.component.html similarity index 100% rename from src/app/shared/components/treestoring/treestoring.component.html rename to src/app/modules/tree/components/unused_treestoring/treestoring.component.html diff --git a/src/app/shared/components/treestoring/treestoring.component.scss b/src/app/modules/tree/components/unused_treestoring/treestoring.component.scss similarity index 100% rename from src/app/shared/components/treestoring/treestoring.component.scss rename to src/app/modules/tree/components/unused_treestoring/treestoring.component.scss diff --git a/src/app/shared/components/treestoring/treestoring.component.ts b/src/app/modules/tree/components/unused_treestoring/treestoring.component.ts similarity index 96% rename from src/app/shared/components/treestoring/treestoring.component.ts rename to src/app/modules/tree/components/unused_treestoring/treestoring.component.ts index 0037d07..4060b25 100644 --- a/src/app/shared/components/treestoring/treestoring.component.ts +++ b/src/app/modules/tree/components/unused_treestoring/treestoring.component.ts @@ -1,6 +1,6 @@ import { Component, ViewChild, Output, EventEmitter, OnInit } from "@angular/core"; import { MatProgressBar } from "@angular/material"; -import { TreeService } from "../../../services/tree/Tree"; +import { TreeService } from "Services/tree/Tree"; @Component({ selector: "treestoring", diff --git a/src/app/modules/tree/tree.module.ts b/src/app/modules/tree/tree.module.ts new file mode 100644 index 0000000..84da88a --- /dev/null +++ b/src/app/modules/tree/tree.module.ts @@ -0,0 +1,39 @@ +import { NgModule } from '@angular/core'; +import { CommonModule } from '@angular/common'; +import { RouterModule, Routes } from '@angular/router'; +import { PageNotFoundComponent } from '../../shared/components/pagenotfound/pagenotfound.component'; +import { TreeUploadComponent } from './components/treeupload/treeupload.component'; +import { TreeViewComponent } from './components/treeview/treeview.component'; +import { TreeComponent } from 'Components/tree/tree.component'; +import { TreeStoringComponent } from './components/unused_treestoring/treestoring.component'; +import { XmlUploadComponent } from 'Modules/xml/components/xmlupload/xmlupload.component'; +import { XMLModule } from 'Modules/xml/xml.module'; +import { MatTreeModule, MatIconModule, MatIcon, MatButtonModule, MatTreeNodeToggle, MatCommonModule, MatFormFieldModule } from '@angular/material'; +import { BrowserModule } from '@angular/platform-browser'; +import { BrowserAnimationsModule } from '@angular/platform-browser/animations'; +import { DocTTCommonModule } from 'Modules/doctt_common/doctt_common.module'; + +const treeRoutes: Routes = [ + { path: "tree", component: TreeViewComponent }, + { path: "tree/upload", component: TreeUploadComponent } +]; + +@NgModule({ + declarations: [ + TreeViewComponent, + TreeUploadComponent, + TreeComponent, + ], + imports: [ + RouterModule.forRoot(treeRoutes), + XMLModule, + MatTreeModule, + DocTTCommonModule + ], + exports: [RouterModule], + providers: [ + ], +}) +export class TreeModule { + +} \ No newline at end of file diff --git a/src/app/modules/xml/components/xmlexport/xmlexport.component.html b/src/app/modules/xml/components/xmlexport/xmlexport.component.html new file mode 100644 index 0000000..e69de29 diff --git a/src/app/modules/xml/components/xmlexport/xmlexport.component.scss b/src/app/modules/xml/components/xmlexport/xmlexport.component.scss new file mode 100644 index 0000000..e69de29 diff --git a/src/app/shared/components/xmlexport/xmlexport.component.ts b/src/app/modules/xml/components/xmlexport/xmlexport.component.ts similarity index 100% rename from src/app/shared/components/xmlexport/xmlexport.component.ts rename to src/app/modules/xml/components/xmlexport/xmlexport.component.ts diff --git a/src/app/modules/xml/components/xmlupload/xmlupload.component.html b/src/app/modules/xml/components/xmlupload/xmlupload.component.html new file mode 100644 index 0000000..1bd69e6 --- /dev/null +++ b/src/app/modules/xml/components/xmlupload/xmlupload.component.html @@ -0,0 +1,8 @@ +
+ + + folder + + + +
\ No newline at end of file diff --git a/src/app/modules/xml/components/xmlupload/xmlupload.component.scss b/src/app/modules/xml/components/xmlupload/xmlupload.component.scss new file mode 100644 index 0000000..d488ad6 --- /dev/null +++ b/src/app/modules/xml/components/xmlupload/xmlupload.component.scss @@ -0,0 +1,12 @@ +div.xml{ + display: block; + color: black; + + mat-form-field { + display: block; + } +} + +button.xml-load { + margin-bottom: 1em; +} \ No newline at end of file diff --git a/src/app/shared/components/xmlupload/xmlupload.component.ts b/src/app/modules/xml/components/xmlupload/xmlupload.component.ts similarity index 66% rename from src/app/shared/components/xmlupload/xmlupload.component.ts rename to src/app/modules/xml/components/xmlupload/xmlupload.component.ts index cd0cc02..df5f7af 100644 --- a/src/app/shared/components/xmlupload/xmlupload.component.ts +++ b/src/app/modules/xml/components/xmlupload/xmlupload.component.ts @@ -1,12 +1,22 @@ import { Component, ViewChild, Output, EventEmitter } from "@angular/core"; import { MatProgressBar } from "@angular/material"; - +import { FileInputComponent, FileInput } from "ngx-material-file-input"; +import { FormGroup, FormControl } from "@angular/forms"; @Component({ selector: "doctt-xmlupload", templateUrl: "./xmlupload.component.html", - styleUrls: ["./xmlupload.component.scss"] + styleUrls: ["./xmlupload.component.scss"], + providers: [ + FileInputComponent + ] }) export class XmlUploadComponent { + private myFormGroup: FormGroup = new FormGroup({ + xmlFileUpload: new FormControl() + }); + + private files : FileInput = null; + private debug: boolean = true; @ViewChild("progressBar") progressBar: MatProgressBar; @@ -14,17 +24,26 @@ export class XmlUploadComponent { @Output('fileUploaded') private fileUploaded: EventEmitter = new EventEmitter(); + + private fileUploadEvent(e : FileInput){ + this.files = e; + } ngOnInit(): void { this.progressBar._elementRef.nativeElement.style.display = "hidden"; + this.myFormGroup.get('xmlFileUpload').valueChanges.subscribe(this.fileUploadEvent.bind(this)); console.log(this.progressBar); } - load(files: FileList): Promise { + load(): Promise { + if(this.files == null){ + return null; + } + let fileReader = new FileReader(); this.progressBar._elementRef.nativeElement.style.display = "block"; - fileReader.readAsText(files[0]); + fileReader.readAsText(this.files.files[0]); let promise = new Promise((resolve, reject) => { this.progress = 0; diff --git a/src/app/modules/xml/xml.module.ts b/src/app/modules/xml/xml.module.ts new file mode 100644 index 0000000..5fde8d1 --- /dev/null +++ b/src/app/modules/xml/xml.module.ts @@ -0,0 +1,29 @@ +import { NgModule } from '@angular/core'; +import { CommonModule } from '@angular/common'; +import { XmlUploadComponent } from 'Modules/xml/components/xmlupload/xmlupload.component'; +import { XmlExportComponent } from 'Modules/xml/components/xmlexport/xmlexport.component'; +import { MatProgressBarModule, MatIconModule, MatFormFieldModule, MatTreeModule } from '@angular/material'; +import { FormsModule, ReactiveFormsModule } from '@angular/forms'; +import { MaterialFileInputModule, FileInputComponent } from 'ngx-material-file-input'; +import { BrowserModule } from '@angular/platform-browser'; +import { BrowserAnimationsModule } from '@angular/platform-browser/animations'; +import { DocTTCommonModule } from 'Modules/doctt_common/doctt_common.module'; + +@NgModule({ + declarations: [ + XmlUploadComponent, + XmlExportComponent, + ], + imports: [ + CommonModule, + MatProgressBarModule, + MaterialFileInputModule, + DocTTCommonModule + ], + exports: [ + XmlUploadComponent, + XmlExportComponent + ], + providers: [], +}) +export class XMLModule {} \ No newline at end of file diff --git a/src/app/services/document/DocumentService.ts b/src/app/services/document/DocumentService.ts index 697459b..1920a24 100644 --- a/src/app/services/document/DocumentService.ts +++ b/src/app/services/document/DocumentService.ts @@ -7,6 +7,7 @@ import { Document, File } from 'Models/document/document'; export class DocumentService { private documents: Document[]; private static LS_TAG = 'documents'; + private last_id : number = -1; public loadDocuments() : Document[] { let docs = []; @@ -18,10 +19,13 @@ export class DocumentService { } } - for(let i=0; iDocument + +
+

Metadata

+ + + + + + + + + + + + + + + +

Content

+ +
\ No newline at end of file diff --git a/src/app/shared/components/document/document.component.scss b/src/app/shared/components/document/document.component.scss index e69de29..cda3582 100644 --- a/src/app/shared/components/document/document.component.scss +++ b/src/app/shared/components/document/document.component.scss @@ -0,0 +1,6 @@ +table.doc-metadata{ + border-spacing: 0px; + width: 100%; + margin-top: 1em; + margin-bottom: 1em; +} \ No newline at end of file diff --git a/src/app/shared/components/document/document.component.ts b/src/app/shared/components/document/document.component.ts index bf92539..1cce1f0 100644 --- a/src/app/shared/components/document/document.component.ts +++ b/src/app/shared/components/document/document.component.ts @@ -1,12 +1,79 @@ -import { Component, OnInit } from '@angular/core'; +import { Component, OnInit, ViewChild, AfterViewInit } from '@angular/core'; +import { Document } from 'Models/document/document'; +import { ActivatedRoute } from '@angular/router'; +import { DocumentService } from 'Services/document/DocumentService'; +import { Observable } from 'rxjs'; +import { CustomTextareaComponent } from '../textedit/components/customtextarea.component'; +import { ColorizedTree } from 'Models/tree/ColorizedTree'; +import { TreeService } from 'Services/tree/Tree'; +import { TreeFile } from 'Models/tree/Tree'; + + +interface KV { + key: string, + val: string +} @Component({ selector: 'doctt-document', templateUrl: './document.component.html', styleUrls: ['./document.component.scss'] }) -export class DocumentComponent implements OnInit { - constructor() { } +export class DocumentComponent implements OnInit, AfterViewInit { + + private id: number; + private document: Document = null; + private tree: TreeFile; + + private displayedColumns: string[] = [ + 'key', 'val' + ]; + + @ViewChild(CustomTextareaComponent) private editText : CustomTextareaComponent; + + private data: Array = []; + private dataSource: Observable> = new Observable(observer => { + observer.next(this.data); + }); + + constructor(private route: ActivatedRoute, + private documentService: DocumentService, + private treeService: TreeService) { + this.tree = treeService.getActualTree(); + } + + private getColumn(key: string): string { + switch (key) { + case 'textfile': + return 'Text File'; + case 'title': + return 'Title'; + case 'lang': + return 'Language'; + case 'id': + return 'ID'; + } + + return key; + } + + ngOnInit(): void { + this.route.params.subscribe(params => { + this.id = params.id; + this.document = this.documentService.getDocument(this.id); + + for (let k of Object.keys(this.document.header)) { + this.data.push({ + key: k, + val: this.document.header[k] + }); + } + }); + } - ngOnInit(): void { } + ngAfterViewInit(): void { + //Called after ngAfterContentInit when the component's view has been initialized. Applies to components only. + //Add 'implements AfterViewInit' to the class. + this.editText.load(this.document, this.tree); + } } diff --git a/src/app/shared/components/documentdelete/documentdelete.component.html b/src/app/shared/components/documentdelete/documentdelete.component.html new file mode 100644 index 0000000..9c500b8 --- /dev/null +++ b/src/app/shared/components/documentdelete/documentdelete.component.html @@ -0,0 +1,3 @@ +

Delete Document

+ +

Are you sure to delete this document?

\ No newline at end of file diff --git a/src/app/shared/components/documentdelete/documentdelete.component.scss b/src/app/shared/components/documentdelete/documentdelete.component.scss new file mode 100644 index 0000000..e69de29 diff --git a/src/app/shared/components/documentdelete/documentdelete.component.ts b/src/app/shared/components/documentdelete/documentdelete.component.ts new file mode 100644 index 0000000..afcd2fd --- /dev/null +++ b/src/app/shared/components/documentdelete/documentdelete.component.ts @@ -0,0 +1,12 @@ +import { Component, OnInit } from '@angular/core'; + +@Component({ + selector: 'doctt-document-delete', + templateUrl: './documentdelete.component.html', + styleUrls: ['./documentdelete.component.scss'] +}) +export class DocumentDeleteComponent implements OnInit { + constructor() { } + + ngOnInit(): void { } +} diff --git a/src/app/shared/components/documentpreview/document-preview.component.html b/src/app/shared/components/documentpreview/document-preview.component.html index cdfe426..b95fe70 100644 --- a/src/app/shared/components/documentpreview/document-preview.component.html +++ b/src/app/shared/components/documentpreview/document-preview.component.html @@ -11,10 +11,10 @@ - - diff --git a/src/app/shared/components/documentupload/documentupload.component.html b/src/app/shared/components/documentupload/documentupload.component.html index 7b45f83..c5c9a3b 100644 --- a/src/app/shared/components/documentupload/documentupload.component.html +++ b/src/app/shared/components/documentupload/documentupload.component.html @@ -1,3 +1,5 @@ - -
-
\ No newline at end of file +

Document Upload

+

Please, choose an XML document that was previously exported from UAM Corpus Tool

+ + +

\ No newline at end of file
diff --git a/src/app/shared/components/documentupload/documentupload.component.scss b/src/app/shared/components/documentupload/documentupload.component.scss
index 3a203a8..3ab29b2 100644
--- a/src/app/shared/components/documentupload/documentupload.component.scss
+++ b/src/app/shared/components/documentupload/documentupload.component.scss
@@ -1,4 +1,5 @@
 pre.result-box {
+  display: none;
   outline: 1px solid #ccc;
   padding: 5px;
   margin: 5px;
@@ -18,3 +19,7 @@ pre.result-box {
     color: red;
   }
 }
+
+pre.result-box.isActive {
+  display: block;
+}
\ No newline at end of file
diff --git a/src/app/shared/components/documentupload/documentupload.component.ts b/src/app/shared/components/documentupload/documentupload.component.ts
index e111c7b..b5a1a1a 100644
--- a/src/app/shared/components/documentupload/documentupload.component.ts
+++ b/src/app/shared/components/documentupload/documentupload.component.ts
@@ -1,10 +1,11 @@
 import { Component, OnInit, ViewChild, Input, ElementRef, ViewEncapsulation } from '@angular/core';
-import { XmlUploadComponent } from '../xmlupload/xmlupload.component';
 import { DocumentParserService } from 'Services/parser/document/DocumentParser';
 import { File } from 'Models/document/document';
 import { DocumentUploadTitleDialogComponent } from './components/document-upload-title-dialog.component';
 import { MatDialog } from '@angular/material';
 import { DocumentService } from 'Services/document/DocumentService';
+import { Router } from '@angular/router';
+import { XmlUploadComponent } from 'Modules/xml/components/xmlupload/xmlupload.component';
 
 @Component({
   selector: "doctt-documentupload",
@@ -15,7 +16,8 @@ import { DocumentService } from 'Services/document/DocumentService';
 export class DocumentUploadComponent implements OnInit {
   constructor(private documentParserService: DocumentParserService,
     private documentService: DocumentService,
-    private dialog: MatDialog) {}
+    private dialog: MatDialog, 
+    private router: Router) {}
 
   @ViewChild("xmlUpload") xmlUpload: XmlUploadComponent;
   @ViewChild("resultBox") resultBox: ElementRef;
@@ -63,7 +65,9 @@ export class DocumentUploadComponent implements OnInit {
     dialogRef.afterClosed().subscribe(result => {
       let title = result;
       file.data.header.title = title;
-      this.documentService.storeFile(file);
+      let id = this.documentService.storeFile(file);
+      this.router.navigateByUrl(`/documents/view/${id}`);
+    
     });
     
   }
diff --git a/src/app/shared/components/tag/tag.component.ts b/src/app/shared/components/tag/tag.component.ts
index 84d404f..0ae0938 100644
--- a/src/app/shared/components/tag/tag.component.ts
+++ b/src/app/shared/components/tag/tag.component.ts
@@ -1,5 +1,6 @@
 import { Component, OnInit, ViewChild, ElementRef } from "@angular/core";
 import { HSLColor } from "Models/hslcolor/HSLColor";
+import { ColorizedNode } from "Models/tree/ColorizedTree";
 
 @Component({
   selector: "doctt-tag",
@@ -8,6 +9,8 @@ import { HSLColor } from "Models/hslcolor/HSLColor";
 })
 export class TagComponent implements OnInit {
   private element: Node;
+  private tagNode: ColorizedNode;
+
   @ViewChild("tag") tag: ElementRef | undefined;
   @ViewChild("tagInner") content: ElementRef | undefined;
 
@@ -31,9 +34,14 @@ export class TagComponent implements OnInit {
     }
   }
 
-  setColor(color: HSLColor){
+  private setColor(color: HSLColor){
     this.tag.nativeElement.style.backgroundColor = color.toCSS();
   }
 
+  setTag(tag: ColorizedNode) {
+    this.setColor(tag.color);
+    this.tagNode = tag;  
+  }
+
   
 }
diff --git a/src/app/shared/components/textedit/components/customtextarea.component.html b/src/app/shared/components/textedit/components/customtextarea.component.html
index e07e2d1..466d2e2 100644
--- a/src/app/shared/components/textedit/components/customtextarea.component.html
+++ b/src/app/shared/components/textedit/components/customtextarea.component.html
@@ -1,193 +1,2 @@
-
-

- Akebia Therapeutics (NASDAQ: AKBA) Q4 2018 Earnings - Conference CallMarch 18, 2019 4:30 p.m. ET -

-

Contents:

-
    -
  • Prepared Remarks
  • -
  • Questions and Answers
  • -
  • Call Participants
  • -
-

Prepared Remarks:

-

Operator

-

- Good day, ladies and gentlemen, and welcome to the Akebia Therapeutics - preliminary full-year 2018 financial results and business highlights - conference call. As a reminder, this conference call is being recorded. - [Operator instructions] I would now like to introduce your host for today's - conference. Megan, the floor is yours. -

-

Unidentified speaker

-

- Thank you, operator. Good afternoon and thank you for joining us to discuss - our recent business progress and Akebia's preliminary full-year 2018 - financial results and business highlights conference call. The press release - containing the company's preliminary financial results for the fourth - quarter and full-year 2018 was issued earlier this afternoon and is also - available on our Investor Relations website. For your convenience, an audio - replay of today's call will also be available on our website shortly after - we conclude today's webcast. -

-

- Joining our call are John Butler, president and chief executive officer; and - Jason Amello, chief financial officer. Rita Jain, chief medical officer; - Michel Dahan, chief business officer; and Doug Jermasek, VP of marketing and - strategy, will also be joining for the Q&A session. Before we begin, I'd - like to remind everyone that this conference call includes forward-looking - statements. Each forward-looking statement contained in this call is subject - to risks and uncertainties that could cause actual results to differ - materially from those described in these statements. -

-

- 10 stocks we like better than Akebia TherapeuticsWhen - investing geniuses David and Tom Gardner have a stock tip, it can pay to - listen. After all, the newsletter they have run for over a decade, - Motley Fool Stock Advisor, has quadrupled the market.* -

-

- David and Tom just revealed what they believe are the - ten best stocks - for investors to buy right now... and Akebia Therapeutics wasn't one of - them! That's right -- they think these 10 stocks are even better buys. -

-

- See the 10 stocks -

-

*Stock Advisor returns as of March 1, 2019

-

- Additional information regarding these factors are described in the Risk - Factors and management's Discussion and Analysis sections of our most - recently quarterly and annual financial reports. The forward-looking - statements on this call speaks only as of the original date of this call, - and we do not undertake any obligation to update or revise any of these - statements. With that, I'd like to turn the call over to our CEO, John - Butler. John? -

-

- John Butler -- - President and Chief Executive Officer -

-

- Thanks, Megan. Good afternoon, everyone, and thank you for joining us. 2018 - was a transformative year for Akebia. Throughout the year, we executed - against multiple strategic initiatives, including the creation of a fully - integrated biopharma company for a successful merger with Keryx. -

-

- We now have capabilities from research, commercialization, and a portfolio - of complementary assets. Through the merger, we gained access to Auryxia, a - commercial product proved for two indications to treat patients with kidney - disease. In addition, we continued to advance our global Phase 3 program for - vadadustat. 2019 is beginning with the same sort of momentum with the - announcement of the positive results from the Phase 3 clinical program for - vadadustat in Japan conducted by our collaboration partner, Mitsubishi - Tanabe or MTPC. -

-

(...)

-

- And with that, we'll open the line for questions. George? -

-

Questions and Answers:

-

Operator

-

- Thank you. [Operator instructions] Our first question comes from the line of - Chris Raymond with Piper Jaffray. Your line is open. -

-

- Chris Raymond -- Piper Jaffray -- Analyst -

-

- Hey. Thanks for taking the question. I just wanted to maybe understand - Auryxia a little bit better. So just backing to the Q4 number, it looks like - revenue was about $24.7 million. -

-

- And I think that's down about 7% quarter-on-quarter but I think I heard you - state that at year end, it exited with 6.6% market share. But I think Keryx - said at the end of the third quarter of '18, it was 6.4%. So can you maybe - sort of square those two trends? Am I not getting a full picture with some - of those numbers or what's happening? -

-

- John Butler -- - President and Chief Executive Officer -

-

- No. You're right on target, Chris. So if you recall, in the fourth quarter, - actually, starting in September of last year, DaVita Rx, the specialty - pharmacy arm of DaVita stopped shipping. And when you looked at fourth - quarter of last year, the entire phosphate binder market decreased by - roughly 10%. -

-

(...)

-

Call Participants:

-

- John Butler -- President and Chief Executive Officer -

-

- Jason Amello -- Chief Financial Officer -

-

- Chris Raymond -- Piper Jaffray -- Analyst -

-

- Kennen MacKay -- RBC Capital Markets -- Analyst -

-

- Rita Jain -- Chief Medical Officer -

-

- Difei Yang -- Mizuho Securities -- Analyst -

-

- Reni Benjamin -- Raymond James -- Analyst -

-

- Doug Jermasek -- - Vice President of Marketing and Strategy -

-

- Bert Hazlett -- BTIG -- Analyst -

-

- Michel Dahan -- Chief Business Officer -

-

- Chad Messer -- Needham and Company -- Analyst -

-

- Ed Arce -- H.C. Wainwright and Company -

-
- +
\ No newline at end of file diff --git a/src/app/shared/components/textedit/components/customtextarea.component.scss b/src/app/shared/components/textedit/components/customtextarea.component.scss index 6d6dd43..8d46360 100644 --- a/src/app/shared/components/textedit/components/customtextarea.component.scss +++ b/src/app/shared/components/textedit/components/customtextarea.component.scss @@ -1,8 +1,7 @@ .editor { - border: 1px solid #777; min-height: 3em; margin-bottom: 1em; - padding: 10px; + padding: 20px; overflow: hidden; } diff --git a/src/app/shared/components/textedit/components/customtextarea.component.ts b/src/app/shared/components/textedit/components/customtextarea.component.ts index c65f4e7..011e664 100644 --- a/src/app/shared/components/textedit/components/customtextarea.component.ts +++ b/src/app/shared/components/textedit/components/customtextarea.component.ts @@ -28,6 +28,11 @@ import { isFakeMousedownFromScreenReader } from "@angular/cdk/a11y"; import { FloatingTagChooserComponent } from "../../floatintagchooser/floatingtagchooser.component"; import { Event } from "@angular/router"; import { Tag } from "Models/tag/Tag"; +import { Document } from "Models/document/document"; +import { TreeContent, TreeFile, TreeNode } from "Models/tree/Tree"; +import { ColorizedNode } from "Models/tree/ColorizedTree"; +import { TreeService } from "Services/tree/Tree"; +import { isFulfilled } from "q"; @Component({ selector: "custom-textarea", @@ -52,7 +57,8 @@ export class CustomTextareaComponent implements OnInit { private viewContainerRef: ViewContainerRef, private resolver: ComponentFactoryResolver, private injector: Injector, - private appRef: ApplicationRef + private appRef: ApplicationRef, + private treeService: TreeService ) { this.componentFactory = this.resolver.resolveComponentFactory(TagComponent); } @@ -231,11 +237,95 @@ export class CustomTextareaComponent implements OnInit { let element: ComponentRef = ref; element.instance.setContent(content); - element.instance.setColor(tag.color); + element.instance.setTag(tag); } else { console.log( "Node isn't Node.TEXT_NODE. Got " + node.nodeType + " instead." ); } } + + private findTagByFeatures(n: ColorizedNode, features: string[]) : ColorizedNode { + if (n.name.toUpperCase() == n.name) { + + if(features.length == 0){ + return null; + } + + // Looks like a -TYPE node, skip it + let node = null; + for(let c of n.children){ + if(c.name == features[0]){ + return this.findTagByFeatures(c, features); + } + } + + if(node == null){ + return null; + } + } + + if(n.name != features[0]){ + return null; + } + + if(features.length == 1){ + return n; + } + + for (let c of n.children) { + let lastN = this.findTagByFeatures(c, features.splice(1)); + if(lastN != null){ + return lastN; + } + } + } + + load(d: Document, t: TreeFile) { + console.log('Editor: Loading...'); + + if(t.version != 1){ + console.error('Invalid Tree version'); + return; + } + + let ct = this.treeService.colorizeTree(t.data.root)[0]; + + let el : HTMLElement = this.editor.nativeElement; + + for(let s of d.body.segments){ + let divSegment = document.createElement('div'); + divSegment.className = "segment-container"; + + if(s.features.length == 0){ + divSegment.innerHTML = s.text.replace(/\n/g, '
'); + } else { + let spanEl = document.createElement('span'); + spanEl.innerText = s.text; + + + let portal = new ComponentPortal(TagComponent); + let portalHost = new DomPortalHost( + divSegment, + this.resolver, + this.appRef, + this.injector + ); + let ref = portalHost.attachComponentPortal(portal); + + let tag = this.findTagByFeatures(ct, s.features); + + if(tag == null){ + console.error("Invalid tag!"); + return; + } + + let element: ComponentRef = ref; + element.instance.setContent(spanEl); + element.instance.setTag(tag); + } + + el.appendChild(divSegment); + } + } } diff --git a/src/app/shared/components/xmlupload/xmlupload.component.html b/src/app/shared/components/xmlupload/xmlupload.component.html deleted file mode 100644 index dadc072..0000000 --- a/src/app/shared/components/xmlupload/xmlupload.component.html +++ /dev/null @@ -1,5 +0,0 @@ -
-

- - -
\ No newline at end of file diff --git a/src/app/shared/components/xmlupload/xmlupload.component.scss b/src/app/shared/components/xmlupload/xmlupload.component.scss deleted file mode 100644 index 3ecde2b..0000000 --- a/src/app/shared/components/xmlupload/xmlupload.component.scss +++ /dev/null @@ -1,7 +0,0 @@ -.xml{ - color: black; -} - -button.xml-load { - margin-bottom: 1em; -} \ No newline at end of file diff --git a/src/styles/theme.scss b/src/styles/theme.scss index 21ce3b7..b99d473 100644 --- a/src/styles/theme.scss +++ b/src/styles/theme.scss @@ -16,5 +16,5 @@ $my-app-theme: mat-light-theme($my-app-primary, $my-app-accent, $my-app-warn); @import "~typeface-roboto/index.css"; body { - font-family: 'Roboto'; + font-family: 'Roboto Regular'; } \ No newline at end of file diff --git a/src/vendor.ts b/src/vendor.ts index 7f36de8..6675163 100644 --- a/src/vendor.ts +++ b/src/vendor.ts @@ -7,6 +7,4 @@ import '@angular/http'; import '@angular/router'; // RxJS -import 'rxjs'; - -import 'jquery/dist/jquery.min' \ No newline at end of file +import 'rxjs'; \ No newline at end of file diff --git a/tsconfig.json b/tsconfig.json index 253f1b2..5cbee30 100644 --- a/tsconfig.json +++ b/tsconfig.json @@ -16,7 +16,9 @@ "*": ["types/*"], "Models/*": ["src/app/models/*"], "Services/*": ["src/app/services/*"], - "Directives/*": ["src/app/directives/*"] + "Directives/*": ["src/app/directives/*"], + "Components/*": ["src/app/shared/components/*"], + "Modules/*": ["src/app/modules/*"] }, "baseUrl": "./", "typeRoots": [