From 99696cabf72d64936345c18363bfa73f37ffdcd5 Mon Sep 17 00:00:00 2001 From: Sercan Yemen Date: Mon, 5 Feb 2018 15:08:18 +0300 Subject: [PATCH] Finished up the Analytics Dashboard + Updated the Angular Material version along with couple other libraries + Increased the version number of the Fuse --- package-lock.json | 454 +++++++------- package.json | 55 +- src/app/app.module.ts | 2 +- src/app/fuse-fake-db/dashboard-analytics.ts | 408 ++++++++----- .../analytics/analytics.component.html | 571 +++++++++--------- .../analytics/analytics.component.scss | 55 +- src/app/navigation/navigation.model.ts | 12 +- 7 files changed, 808 insertions(+), 749 deletions(-) diff --git a/package-lock.json b/package-lock.json index 6d0b4db7..be40b44c 100644 --- a/package-lock.json +++ b/package-lock.json @@ -1,6 +1,6 @@ { "name": "fuse2", - "version": "1.3.5", + "version": "1.3.6", "lockfileVersion": 1, "requires": true, "dependencies": { @@ -9,76 +9,34 @@ "resolved": "https://registry.npmjs.org/@agm/core/-/core-1.0.0-beta.2.tgz", "integrity": "sha512-3bdfvkWDmJszpj/F6Fzgv7sks0cs/cUEQPfs37tcJFz3jc62SsXy4TGb/WJT8FpH2nSGE6DonP8lXuFxB0lblQ==" }, - "@angular-devkit/build-optimizer": { - "version": "0.0.41", - "resolved": "https://registry.npmjs.org/@angular-devkit/build-optimizer/-/build-optimizer-0.0.41.tgz", - "integrity": "sha512-TYolYpR3cb3rZGMqHBc1Q4r6SwhvuTF9sDt3gARy9Tli5R3BwY8bRA3evHQhhM0cb4AbBaJVgQYdJm5FURNn6g==", - "dev": true, - "requires": { - "loader-utils": "1.1.0", - "source-map": "0.5.7", - "typescript": "2.6.2", - "webpack-sources": "1.1.0" - }, - "dependencies": { - "typescript": { - "version": "2.6.2", - "resolved": "https://registry.npmjs.org/typescript/-/typescript-2.6.2.tgz", - "integrity": "sha1-PFtv1/beCRQmkCfwPAlGdY92c6Q=", - "dev": true - } - } - }, - "@angular-devkit/core": { - "version": "0.0.28", - "resolved": "https://registry.npmjs.org/@angular-devkit/core/-/core-0.0.28.tgz", - "integrity": "sha512-rfGRVdpx080zZq9NGZ3RNG+cmoq/ZPaCzpM4dAbosEM46ficUkwr/JKjhjZUUoSyb9ItrT1lp9C33GfE/YpSVQ==", - "dev": true, - "requires": { - "ajv": "5.5.2", - "chokidar": "1.7.0", - "rxjs": "5.5.6", - "source-map": "0.5.7" - } - }, - "@angular-devkit/schematics": { - "version": "0.0.51", - "resolved": "https://registry.npmjs.org/@angular-devkit/schematics/-/schematics-0.0.51.tgz", - "integrity": "sha512-KGYiJpPgLqPvXeJzaHw/9JHAt8dL3EzyeYOAZ/gMKnPDA+7WypAta2n9ZuPVchY3G9p1XcqB5STJLvk7HQw3Cw==", - "dev": true, - "requires": { - "@ngtools/json-schema": "1.1.0", - "rxjs": "5.5.6" - } - }, "@angular/animations": { - "version": "5.2.1", - "resolved": "https://registry.npmjs.org/@angular/animations/-/animations-5.2.1.tgz", - "integrity": "sha512-f8viyt1xDC2NC2ap0lczw+AiL3S1WVSDOmNp3UKwA66gm+Hs9AdDX0PjpxgMR9KQY8c4P7mztNax55jj2Sbe1Q==", + "version": "5.2.3", + "resolved": "https://registry.npmjs.org/@angular/animations/-/animations-5.2.3.tgz", + "integrity": "sha512-K9rOsRGwt7Zmp/rNdvBmgBKqvEdgCyZF0kvwxrmZfq1Zj0GAkfTAKPL007493O6XFd+icfu/+kmYeqXBGB4gKA==", "requires": { "tslib": "1.9.0" } }, "@angular/cdk": { - "version": "5.1.0", - "resolved": "https://registry.npmjs.org/@angular/cdk/-/cdk-5.1.0.tgz", - "integrity": "sha512-xDCVx65SvxoGDMpQhaQvfP7bZhQDuX65Uk+JntPlLTiwFr7v82a+71RnzOCzNKyaNXGoIgUGcrLZpozlyqNgFg==", + "version": "5.1.1", + "resolved": "https://registry.npmjs.org/@angular/cdk/-/cdk-5.1.1.tgz", + "integrity": "sha512-V8kQmwf1PhtxiiE0cS1x9SW7/VFrJ7LcL9RqxUOMmJMl8kVR43dQBEeuVOOYJlGo9LAR5ctfemlJHwd9+PoHew==", "requires": { "tslib": "1.9.0" } }, "@angular/cli": { - "version": "1.6.5", - "resolved": "https://registry.npmjs.org/@angular/cli/-/cli-1.6.5.tgz", - "integrity": "sha512-YyGdq7rM1xduSdxviKfbd9NsYloEIeK3T+WEftsHSlViKuNQh8jIUoMzTGypjCmTieE2Gtg5BnukaxuUo1G+bQ==", + "version": "1.6.7", + "resolved": "https://registry.npmjs.org/@angular/cli/-/cli-1.6.7.tgz", + "integrity": "sha512-TprSjnQrEdrTsCAB5K/lCLuXZUH/y+l/BAR0aZLpubpZP8Ldgmq7q56trxL5wNSs3o6A8Vh43ZKNYOuKtnzlXQ==", "dev": true, "requires": { - "@angular-devkit/build-optimizer": "0.0.41", - "@angular-devkit/core": "0.0.28", - "@angular-devkit/schematics": "0.0.51", + "@angular-devkit/build-optimizer": "0.0.42", + "@angular-devkit/core": "0.0.29", + "@angular-devkit/schematics": "0.0.52", "@ngtools/json-schema": "1.1.0", - "@ngtools/webpack": "1.9.5", - "@schematics/angular": "0.1.16", + "@ngtools/webpack": "1.9.7", + "@schematics/angular": "0.1.17", "autoprefixer": "7.2.5", "chalk": "2.2.2", "circular-dependency-plugin": "4.4.0", @@ -118,7 +76,6 @@ "sass-loader": "6.0.6", "semver": "5.5.0", "silent-error": "1.1.0", - "source-map-loader": "0.2.3", "source-map-support": "0.4.18", "style-loader": "0.13.2", "stylus": "0.54.5", @@ -131,28 +88,95 @@ "webpack-merge": "4.1.1", "webpack-sources": "1.1.0", "webpack-subresource-integrity": "1.0.3" + }, + "dependencies": { + "@angular-devkit/build-optimizer": { + "version": "0.0.42", + "resolved": "https://registry.npmjs.org/@angular-devkit/build-optimizer/-/build-optimizer-0.0.42.tgz", + "integrity": "sha512-BAYCVZ10ro6mgZQDZiNiVbX8ppygw4q7z/stpwG8WjMswgMRIcxsxYoC1VFuWcUPAf4UyfTIav6e8UZWA5+xnQ==", + "dev": true, + "requires": { + "loader-utils": "1.1.0", + "source-map": "0.5.7", + "typescript": "2.6.2", + "webpack-sources": "1.1.0" + } + }, + "@angular-devkit/core": { + "version": "0.0.29", + "resolved": "https://registry.npmjs.org/@angular-devkit/core/-/core-0.0.29.tgz", + "integrity": "sha512-jtUBA0pIrkdXcVqDmDrGlniqwM7NFOKdo7vWFDmCVLBbC9rZHeYW5Xv/+4HyBhGLJ4wxsAkUjsHKWGJINPPpiw==", + "dev": true, + "requires": { + "ajv": "5.5.2", + "chokidar": "1.7.0", + "rxjs": "5.5.6", + "source-map": "0.5.7" + } + }, + "@angular-devkit/schematics": { + "version": "0.0.52", + "resolved": "https://registry.npmjs.org/@angular-devkit/schematics/-/schematics-0.0.52.tgz", + "integrity": "sha512-NtG8VB5aWtg0cw1Y7EJinJMuAnXsNdkQkkVe/i7CO6TPLyFQSFQCN1YojCr43l8jTWTRebRslrBawPCMOxsOgw==", + "dev": true, + "requires": { + "@ngtools/json-schema": "1.1.0", + "rxjs": "5.5.6" + } + }, + "@ngtools/webpack": { + "version": "1.9.7", + "resolved": "https://registry.npmjs.org/@ngtools/webpack/-/webpack-1.9.7.tgz", + "integrity": "sha512-D5QuaT9wENeM2j9g2qvW9Ls1tGqRz26Lp+jxwb2ZGFep7Ik1fFOX3ROLfgkxNlxZGVmbxJjsfrYUCyGlzj8gWg==", + "dev": true, + "requires": { + "chalk": "2.2.2", + "enhanced-resolve": "3.4.1", + "loader-utils": "1.1.0", + "magic-string": "0.22.4", + "semver": "5.5.0", + "source-map": "0.5.7", + "tree-kill": "1.2.0", + "webpack-sources": "1.1.0" + } + }, + "@schematics/angular": { + "version": "0.1.17", + "resolved": "https://registry.npmjs.org/@schematics/angular/-/angular-0.1.17.tgz", + "integrity": "sha512-PHE5gk/ogPY/aN94dbbtauHMCq+/7w4Kdcl7tGmSS8mPKEI0wa6XJi//Wq/tHi55lb2fP58oEZU6n6w/wQascw==", + "dev": true, + "requires": { + "typescript": "2.6.2" + } + }, + "typescript": { + "version": "2.6.2", + "resolved": "https://registry.npmjs.org/typescript/-/typescript-2.6.2.tgz", + "integrity": "sha1-PFtv1/beCRQmkCfwPAlGdY92c6Q=", + "dev": true + } } }, "@angular/common": { - "version": "5.2.1", - "resolved": "https://registry.npmjs.org/@angular/common/-/common-5.2.1.tgz", - "integrity": "sha512-O7FA4Qpcu6GYMzlsNTHtUsAl6W0SXepP7qEMx83fC1Xje2GEtulp/99Pg6bvpFKiZYdCjJDhjbUZhIO5x0UncQ==", + "version": "5.2.3", + "resolved": "https://registry.npmjs.org/@angular/common/-/common-5.2.3.tgz", + "integrity": "sha512-RwQ/IjmpDdMecTz/wwQlKpHgF4Crr8kyqV9FJ+c+cHR8Riqlu2DOXSU7LIfDdGoo6Mpixdxd1rtHYfs7l9YBSA==", "requires": { "tslib": "1.9.0" } }, "@angular/compiler": { - "version": "5.2.1", - "resolved": "https://registry.npmjs.org/@angular/compiler/-/compiler-5.2.1.tgz", - "integrity": "sha512-c/HDfbDr8yDUCoVCbGHgoae3YCoWG3EuM/l7jfHflE8sbdppiFVxCRd3VkygkwfPGpUZbZaW2x/OK4Z1dQa34g==", + "version": "5.2.3", + "resolved": "https://registry.npmjs.org/@angular/compiler/-/compiler-5.2.3.tgz", + "integrity": "sha512-OynSzUdEHwajQMoV2JuYq5IdiR2dlTCTAHhTLzrym85wOihvTvovEQwVhYYHyKERu85JIoaF1sXA42KIjMGfkw==", "requires": { "tslib": "1.9.0" } }, "@angular/compiler-cli": { - "version": "5.2.1", - "resolved": "https://registry.npmjs.org/@angular/compiler-cli/-/compiler-cli-5.2.1.tgz", - "integrity": "sha512-9Yud6euknHKPQhh/noho0/xNgYeCyly0Ugkgh0306/RNLW5ngcWE876wdUweU13LJgWQ9+SHqFI5rJbsseqkZw==", + "version": "5.2.3", + "resolved": "https://registry.npmjs.org/@angular/compiler-cli/-/compiler-cli-5.2.3.tgz", + "integrity": "sha512-uoCxeyQSd8R/cwEbd0FIUXjnbPq0HXEsyu3WSu9Ek2jt52HL+x/gZQdFCRtjW/mvQNOqxrgrTtEkhJ398+VkXg==", "dev": true, "requires": { "chokidar": "1.7.0", @@ -170,9 +194,9 @@ } }, "@angular/core": { - "version": "5.2.1", - "resolved": "https://registry.npmjs.org/@angular/core/-/core-5.2.1.tgz", - "integrity": "sha512-2kyXVl+OK/LRUisSfILkRyWiD2BGXysQkN2dwxfwYZwDciH7o8wGSlDDZw0lXIBt0Ly0stYiorIIJGVs5TffaA==", + "version": "5.2.3", + "resolved": "https://registry.npmjs.org/@angular/core/-/core-5.2.3.tgz", + "integrity": "sha512-tL9O8KA6KGjnlxqjuTytpC2OeKbxe/yHev0kmwo5CK0lDZU4UFetcItAzUXU1dyRuILTcBkbnFt9+nr1SZs/cQ==", "requires": { "tslib": "1.9.0" } @@ -186,63 +210,63 @@ } }, "@angular/forms": { - "version": "5.2.1", - "resolved": "https://registry.npmjs.org/@angular/forms/-/forms-5.2.1.tgz", - "integrity": "sha512-DeTpReZcK93FBxTdXqtmuzuW5blMu4fWe7JtmDXWD9UhTw7DwRbPO+7yFRbbfSDd3UzfGfqYBqOlSOdPh9dLbg==", + "version": "5.2.3", + "resolved": "https://registry.npmjs.org/@angular/forms/-/forms-5.2.3.tgz", + "integrity": "sha512-PsMGbj/Slvsxxyl61QSSSFDCGHN1XK6kNxVQTVmAlVhP1LlaYqBOIgQy4K9CYWUeHqU/YCdhVaFb5quzZLtPYA==", "requires": { "tslib": "1.9.0" } }, "@angular/http": { - "version": "5.2.1", - "resolved": "https://registry.npmjs.org/@angular/http/-/http-5.2.1.tgz", - "integrity": "sha512-wMX7rnZcanYT2uVeqr1V9k9lduxZprVjvgetUlj6IuO7kbr22SAJN7phuubI0uAd7MUb7uDXBG8cJ00Q/NH6zw==", + "version": "5.2.3", + "resolved": "https://registry.npmjs.org/@angular/http/-/http-5.2.3.tgz", + "integrity": "sha512-3kAj7YYws8J2zRu46fEXk6lYrgSK9s5YA6O4REZkLox/suK0wb6TsDIIhoMzScGctSzZESVyuWsvYMrDYCflPA==", "requires": { "tslib": "1.9.0" } }, "@angular/language-service": { - "version": "5.2.1", - "resolved": "https://registry.npmjs.org/@angular/language-service/-/language-service-5.2.1.tgz", - "integrity": "sha512-NsPDxsIRwltuvd6GzwPyY9yfU1+kUrRv211zL+CLeDlLA5om0ifbTYTjogbhExG62aW+EVP/UkS37zHU2CFgNA==", + "version": "5.2.3", + "resolved": "https://registry.npmjs.org/@angular/language-service/-/language-service-5.2.3.tgz", + "integrity": "sha512-yBi8i2rUdq6WgYn2J+82QxqhKsl2ldH7/8Lk4ZQDbKgTBx5LmYLpNGg3TJGnZEUGtKhu8Rd1E3SBmc4qqrGXsQ==", "dev": true }, "@angular/material": { - "version": "5.1.0", - "resolved": "https://registry.npmjs.org/@angular/material/-/material-5.1.0.tgz", - "integrity": "sha512-F+dM2xGbyWK3f+j5ZiWMOCBK1Jnv4RAlFRwezJVnzcWaAjwhO2YBHUQGZcnwsVJpwf5Vrihix8N+sWiPvVw+jw==", + "version": "5.1.1", + "resolved": "https://registry.npmjs.org/@angular/material/-/material-5.1.1.tgz", + "integrity": "sha512-RC3xkbX35daNq4w+XBmm+Vgi16TJvLbSkw5xkdxCqLSysFx9ymwDOjUbLeHt2nJtvYWvnSjuVukdSAeaBknTFg==", "requires": { "tslib": "1.9.0" } }, "@angular/material-moment-adapter": { - "version": "5.1.0", - "resolved": "https://registry.npmjs.org/@angular/material-moment-adapter/-/material-moment-adapter-5.1.0.tgz", - "integrity": "sha512-PVFU6fCYacMTqBM3M6s1E+9R2a0F5k83hzBgvlBIoqFJ31WGZ9LUvxYQ9gYe50UghkO3UT4Mdl6CJneWnkOVzA==", + "version": "5.1.1", + "resolved": "https://registry.npmjs.org/@angular/material-moment-adapter/-/material-moment-adapter-5.1.1.tgz", + "integrity": "sha512-1wpISrZOHmcC2o0tmOHX2Lt726WFUZxQs0iYe3x2yHVuxoV2W8gy0unfPkSyaZQ9v68o9xQ3DQEhSByPhr0tZg==", "requires": { "tslib": "1.9.0" } }, "@angular/platform-browser": { - "version": "5.2.1", - "resolved": "https://registry.npmjs.org/@angular/platform-browser/-/platform-browser-5.2.1.tgz", - "integrity": "sha512-+cE7FM6/WIMZWpxf+LxYhfTPBbxSvLNZv5+RnGcOeg4nEG3x0Ny1dr14r5HyudvKfu/A+xTlVCNY7RjZ6HsWVw==", + "version": "5.2.3", + "resolved": "https://registry.npmjs.org/@angular/platform-browser/-/platform-browser-5.2.3.tgz", + "integrity": "sha512-60LgA4KK3BufBR7vwwcn3zTYuLlfDG3jFip7bvdgsDpURrUB0j6/pL5cbGElww4jnnxZ72uJzJRzSiGEofjc3g==", "requires": { "tslib": "1.9.0" } }, "@angular/platform-browser-dynamic": { - "version": "5.2.1", - "resolved": "https://registry.npmjs.org/@angular/platform-browser-dynamic/-/platform-browser-dynamic-5.2.1.tgz", - "integrity": "sha512-S73suoYfGIj7eQlOBXvj3BO8mW8TUUZEUZ/nvFgB/jsb6PtYk1ByIVIWjcV5yttd4TXf7ZhaEYZPm1vBjIN0pA==", + "version": "5.2.3", + "resolved": "https://registry.npmjs.org/@angular/platform-browser-dynamic/-/platform-browser-dynamic-5.2.3.tgz", + "integrity": "sha512-PheS+KJQJiyvQg1lr+eX0/1b/rjLnDjgI1qvzwikrvGYymb2JdZ+rjllHBs1iotzQ+tG+hRnlktvgdFN134x/g==", "requires": { "tslib": "1.9.0" } }, "@angular/router": { - "version": "5.2.1", - "resolved": "https://registry.npmjs.org/@angular/router/-/router-5.2.1.tgz", - "integrity": "sha512-NS8ttrfpjETfIt8Wn4oCP5KQ55UKuj6g3iG/yduoDMWel19KOINUYqz5ujL1gHha4A4Tgs1tBZKQKr0LmapTdA==", + "version": "5.2.3", + "resolved": "https://registry.npmjs.org/@angular/router/-/router-5.2.3.tgz", + "integrity": "sha512-XVEpwNZta76FYas1gZSSGvkQoiGgQjvXfab6CwOh958d4c0C+9pJsykqsv6X/n8TSTShQt7wjs/vp/copXeuoA==", "requires": { "tslib": "1.9.0" } @@ -279,44 +303,11 @@ "integrity": "sha1-w6DFRNYjkqzCgTpCyKDcb1j4aSI=", "dev": true }, - "@ngtools/webpack": { - "version": "1.9.5", - "resolved": "https://registry.npmjs.org/@ngtools/webpack/-/webpack-1.9.5.tgz", - "integrity": "sha512-scio7dKdorM6wgFz8ELm0MDl2To9ax6a36rfmD+h6hcgSn+7dKZmSr3qUnQE1ymydyzlBwS+4IODpWqHPS9cwQ==", - "dev": true, - "requires": { - "chalk": "2.2.2", - "enhanced-resolve": "3.4.1", - "loader-utils": "1.1.0", - "magic-string": "0.22.4", - "semver": "5.5.0", - "source-map": "0.5.7", - "tree-kill": "1.2.0", - "webpack-sources": "1.1.0" - } - }, "@ngx-translate/core": { "version": "9.1.1", "resolved": "https://registry.npmjs.org/@ngx-translate/core/-/core-9.1.1.tgz", "integrity": "sha1-rhA5KINrip4Gn9Li52+iGYzH5ig=" }, - "@schematics/angular": { - "version": "0.1.16", - "resolved": "https://registry.npmjs.org/@schematics/angular/-/angular-0.1.16.tgz", - "integrity": "sha512-SLzs5TmDLEO2/oU83uDw/x9jgBQTktNlO202kbawcqDKLekqgcZXnsl7UhoNdeCFOU9BE9dw07wWwuIzAhj9gQ==", - "dev": true, - "requires": { - "typescript": "2.6.2" - }, - "dependencies": { - "typescript": { - "version": "2.6.2", - "resolved": "https://registry.npmjs.org/typescript/-/typescript-2.6.2.tgz", - "integrity": "sha1-PFtv1/beCRQmkCfwPAlGdY92c6Q=", - "dev": true - } - } - }, "@swimlane/ngx-charts": { "version": "7.0.1", "resolved": "https://registry.npmjs.org/@swimlane/ngx-charts/-/ngx-charts-7.0.1.tgz", @@ -341,17 +332,23 @@ "integrity": "sha512-TMDN26Q4J+Sh+OPqAx8BK5Q/3hAAmcTAUQ9wvC9nboSOAmYUaHGz8t21yGdeUtRtunIfMpjTnwLa+X2Pfoq42w==" }, "@swimlane/ngx-dnd": { - "version": "3.1.0", - "resolved": "https://registry.npmjs.org/@swimlane/ngx-dnd/-/ngx-dnd-3.1.0.tgz", - "integrity": "sha512-Ph7fpK+H8OkS7TyFjNGRn+sLwrmvJbnx9hieiTlKtEgB9kGU39qkZx6eGBdzs5MOsLRd8OP8DnVhiuf4XSm7cA==", + "version": "3.1.2", + "resolved": "https://registry.npmjs.org/@swimlane/ngx-dnd/-/ngx-dnd-3.1.2.tgz", + "integrity": "sha512-jwZxW+s8sI8fk2HfgiuzhLhju2JPiDrqjJHHD2lQlLPikfPdjPasXYdiZSKp/2WDsEuj3a9fkGjpN4s2gPayuQ==", "requires": { + "@types/dragula": "2.1.32", "dragula": "3.7.2" } }, + "@types/dragula": { + "version": "2.1.32", + "resolved": "https://registry.npmjs.org/@types/dragula/-/dragula-2.1.32.tgz", + "integrity": "sha512-67nXH/pjZPTrbQ+Sr/Wy/luKVJPOOy7ErML58TgoO4A0vokIvvSt3+x1FHwp6Q455Kj03xGjCyHkhaelAdQMWA==" + }, "@types/jasmine": { - "version": "2.8.5", - "resolved": "https://registry.npmjs.org/@types/jasmine/-/jasmine-2.8.5.tgz", - "integrity": "sha512-mkrHFZTgOXkZhau36K628iKFkjbp11t/bHCkY4Mefu4R6McMg2FD9P3naBv/0Ygyn4sz8baColJp2gdmSekgiw==", + "version": "2.8.6", + "resolved": "https://registry.npmjs.org/@types/jasmine/-/jasmine-2.8.6.tgz", + "integrity": "sha512-clg9raJTY0EOo5pVZKX3ZlMjlYzVU73L71q5OV1jhE2Uezb7oF94jh4CvwrW6wInquQAdhOxJz5VDF2TLUGmmA==", "dev": true }, "@types/jasminewd2": { @@ -360,7 +357,7 @@ "integrity": "sha512-hYDVmQZT5VA2kigd4H4bv7vl/OhlympwREUemqBdOqtrYTo5Ytm12a5W5/nGgGYdanGVxj0x/VhZ7J3hOg/YKg==", "dev": true, "requires": { - "@types/jasmine": "2.8.5" + "@types/jasmine": "2.8.6" } }, "@types/node": { @@ -569,15 +566,22 @@ } }, "angular-calendar": { - "version": "0.23.2", - "resolved": "https://registry.npmjs.org/angular-calendar/-/angular-calendar-0.23.2.tgz", - "integrity": "sha512-Ai6dDg0UfW1h0PcioIwgBwvKNcUwrA5e91P3lDDhVdIPe6E1SAcCAYT+zgxjMnCKFkhA5CozSxCwAJJgumBGIw==", + "version": "0.23.3", + "resolved": "https://registry.npmjs.org/angular-calendar/-/angular-calendar-0.23.3.tgz", + "integrity": "sha512-MMUb4e6XmFJVv2FPqAdLlQWDtoklVxQ0wxeaZstwaUXXpzQ3sHFMMBhHADZcYcRkGDQsgoK39+sONeJB7RPvvg==", "requires": { "angular-draggable-droppable": "2.0.0", "angular-resizable-element": "2.0.0", - "calendar-utils": "0.1.0", + "calendar-utils": "0.1.1", "date-fns": "1.29.0", "positioning": "1.3.1" + }, + "dependencies": { + "calendar-utils": { + "version": "0.1.1", + "resolved": "https://registry.npmjs.org/calendar-utils/-/calendar-utils-0.1.1.tgz", + "integrity": "sha512-75JPgUK7l7OTg4ZptJMuuIoQzLndc4tcGhBCFtEONr0AMlD7zFVZthOC6Sf29K8r81A1+BJ/tDIFlElgY4XFFw==" + } } }, "angular-draggable-droppable": { @@ -586,9 +590,9 @@ "integrity": "sha512-/b8LIGamjOKnDI2uG1jRUErTIHeQ3w2WqHn4cbeiUTy+6eNHjkQI32DNhvxl0nVxr2gF5QluECNB4uWjMMyzQg==" }, "angular-in-memory-web-api": { - "version": "0.5.2", - "resolved": "https://registry.npmjs.org/angular-in-memory-web-api/-/angular-in-memory-web-api-0.5.2.tgz", - "integrity": "sha1-/y6mZqv9BN19FslT7JcuExigmCQ=" + "version": "0.5.3", + "resolved": "https://registry.npmjs.org/angular-in-memory-web-api/-/angular-in-memory-web-api-0.5.3.tgz", + "integrity": "sha512-1QPwwXG8R/2s7EbHh13HDiJYsk4sdBHNxHJHZHJ/Kxb4T9OG+bb1kGcXzY9UrJkEVxOtUW0ozvL4p/HmeIEszg==" }, "angular-resizable-element": { "version": "2.0.0", @@ -1123,6 +1127,17 @@ "callsite": "1.0.0" } }, + "bfj-node4": { + "version": "5.2.0", + "resolved": "https://registry.npmjs.org/bfj-node4/-/bfj-node4-5.2.0.tgz", + "integrity": "sha512-shYA6rXr1mlAzJT8R96TscvicMyV9GJTMDFRii9HlgxLXT7HD3aDfsEHkQzIHYghh4jLI3+oouXDHqI+pnR3zA==", + "dev": true, + "requires": { + "bluebird": "3.5.1", + "check-types": "7.3.0", + "tryer": "1.0.0" + } + }, "big.js": { "version": "3.2.0", "resolved": "https://registry.npmjs.org/big.js/-/big.js-3.2.0.tgz", @@ -1641,11 +1656,6 @@ "integrity": "sha1-0JxLUoAKpMB44t2BqGmqyQ0uVOc=", "dev": true }, - "calendar-utils": { - "version": "0.1.0", - "resolved": "https://registry.npmjs.org/calendar-utils/-/calendar-utils-0.1.0.tgz", - "integrity": "sha512-vWAp4m2I2PV9nrizBoACsXQ2GJiQVlc9EDOEPpzG6vRrTkQ4NCttUhglnQioMMXF8NYM+kJyjZGF1mRk/SSESQ==" - }, "callsite": { "version": "1.0.0", "resolved": "https://registry.npmjs.org/callsite/-/callsite-1.0.0.tgz", @@ -1789,6 +1799,12 @@ "color-name": "1.1.3" } }, + "check-types": { + "version": "7.3.0", + "resolved": "https://registry.npmjs.org/check-types/-/check-types-7.3.0.tgz", + "integrity": "sha1-Ro9XGkQ1wkJI9f0MsOjYfDw0Hn0=", + "dev": true + }, "chokidar": { "version": "1.7.0", "resolved": "https://registry.npmjs.org/chokidar/-/chokidar-1.7.0.tgz", @@ -2828,9 +2844,9 @@ } }, "d3": { - "version": "4.12.2", - "resolved": "https://registry.npmjs.org/d3/-/d3-4.12.2.tgz", - "integrity": "sha512-aKAlpgTmpuGeEpezB+GvPpX1x+gCMs/PHpuse6sCpkgw4Un3ZeqUobIc87eIy9adcl+wxPAnEyKyO5oulH3MOw==", + "version": "4.13.0", + "resolved": "https://registry.npmjs.org/d3/-/d3-4.13.0.tgz", + "integrity": "sha512-l8c4+0SldjVKLaE2WG++EQlqD7mh/dmQjvi2L2lKPadAVC+TbJC4ci7Uk9bRi+To0+ansgsS0iWfPjD7DBy+FQ==", "requires": { "d3-array": "1.2.1", "d3-axis": "1.0.8", @@ -2843,7 +2859,7 @@ "d3-dsv": "1.0.8", "d3-ease": "1.0.3", "d3-force": "1.1.0", - "d3-format": "1.2.1", + "d3-format": "1.2.2", "d3-geo": "1.9.1", "d3-hierarchy": "1.1.5", "d3-interpolate": "1.1.6", @@ -2854,7 +2870,7 @@ "d3-random": "1.1.0", "d3-request": "1.0.6", "d3-scale": "1.0.7", - "d3-selection": "1.2.0", + "d3-selection": "1.3.0", "d3-shape": "1.2.0", "d3-time": "1.0.8", "d3-time-format": "2.1.1", @@ -2864,10 +2880,10 @@ "d3-zoom": "1.7.1" }, "dependencies": { - "d3-format": { - "version": "1.2.1", - "resolved": "https://registry.npmjs.org/d3-format/-/d3-format-1.2.1.tgz", - "integrity": "sha512-U4zRVLDXW61bmqoo+OJ/V687e1T5nVd3TAKAJKgtpZ/P1JsMgyod0y9br+mlQOryTAACdiXI3wCjuERHFNp91w==" + "d3-selection": { + "version": "1.3.0", + "resolved": "https://registry.npmjs.org/d3-selection/-/d3-selection-1.3.0.tgz", + "integrity": "sha512-qgpUOg9tl5CirdqESUAu0t9MU/t3O9klYfGfyKsXEmhyxyzLpzpeh08gaxBUTQw1uXIOkr/30Ut2YRjSSxlmHA==" } } }, @@ -5505,15 +5521,6 @@ "integrity": "sha1-Dovf5NHduIVNZOBOp8AOKgJuVlg=", "dev": true }, - "gzip-size": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/gzip-size/-/gzip-size-3.0.0.tgz", - "integrity": "sha1-VGGI6b3DN/Zzdy+BZgRks4nc5SA=", - "dev": true, - "requires": { - "duplexer": "0.1.1" - } - }, "hammerjs": { "version": "2.0.8", "resolved": "https://registry.npmjs.org/hammerjs/-/hammerjs-2.0.8.tgz", @@ -7031,19 +7038,10 @@ "which": "1.3.0" } }, - "karma-cli": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/karma-cli/-/karma-cli-1.0.1.tgz", - "integrity": "sha1-rmw8WKMTodALRRZMRVubhs4X+WA=", - "dev": true, - "requires": { - "resolve": "1.5.0" - } - }, "karma-coverage-istanbul-reporter": { - "version": "1.3.3", - "resolved": "https://registry.npmjs.org/karma-coverage-istanbul-reporter/-/karma-coverage-istanbul-reporter-1.3.3.tgz", - "integrity": "sha512-MFkB6bh11J8nKygUdqyHb9sMz17XoBRYR4tiNxnSpi/UtDk0wk8eRGa0jRSJaILgCl4xyq1TL6Jidww1OWly/Q==", + "version": "1.4.1", + "resolved": "https://registry.npmjs.org/karma-coverage-istanbul-reporter/-/karma-coverage-istanbul-reporter-1.4.1.tgz", + "integrity": "sha512-5og0toMjgLvsL9+TzGH4Rk1D0nr7pMIRJBg29xP4mHMKy/1KUJ12UzoqI6mBNCRFa4nDvZS2MRrN7p+RkZNWxQ==", "dev": true, "requires": { "istanbul-api": "1.2.1", @@ -8060,17 +8058,17 @@ } }, "ngrx-store-freeze": { - "version": "0.2.0", - "resolved": "https://registry.npmjs.org/ngrx-store-freeze/-/ngrx-store-freeze-0.2.0.tgz", - "integrity": "sha1-dMIxlHu+GTivci9qcmJNxpeI058=", + "version": "0.2.1", + "resolved": "https://registry.npmjs.org/ngrx-store-freeze/-/ngrx-store-freeze-0.2.1.tgz", + "integrity": "sha512-nQZJoyR03OqGR0dWWqIJgzkMj+99xnFgIY35Z5UXVhLEIfvk4HjuQ/iIeQU1dLHmZ8NnUDRFcrEthCSvE4eAWQ==", "requires": { "deep-freeze-strict": "1.1.1" } }, "ngx-color-picker": { - "version": "5.3.0", - "resolved": "https://registry.npmjs.org/ngx-color-picker/-/ngx-color-picker-5.3.0.tgz", - "integrity": "sha512-9pSkVg5UhXiqyclERCSRHqQiPMHl6fHnmZQwQ2tSNfeGSKX2Ykt55cLbQWo6++XgJORTUyI6z+k7fD1KGPZAmA==" + "version": "5.3.1", + "resolved": "https://registry.npmjs.org/ngx-color-picker/-/ngx-color-picker-5.3.1.tgz", + "integrity": "sha512-03rrkv718RbeuHfEpr6PHnRy8xI2ncg0i3fW6jBPfNoHZQLDXh+7bY7xcdDKc9m52OtsPkvhriEwXbuY4EeckQ==" }, "ngx-cookie-service": { "version": "1.0.10", @@ -10976,9 +10974,9 @@ } }, "prismjs": { - "version": "1.10.0", - "resolved": "https://registry.npmjs.org/prismjs/-/prismjs-1.10.0.tgz", - "integrity": "sha1-d+UYfCrmsyU/zDEwKc8l/lN3hyE=", + "version": "1.11.0", + "resolved": "https://registry.npmjs.org/prismjs/-/prismjs-1.11.0.tgz", + "integrity": "sha1-KXrvM+t5Qhv9sZJzpQkspRWXDSk=", "requires": { "clipboard": "1.7.1" } @@ -12446,37 +12444,6 @@ "integrity": "sha1-igOdLRAh0i0eoUyA2OpGi6LvP8w=", "dev": true }, - "source-map-loader": { - "version": "0.2.3", - "resolved": "https://registry.npmjs.org/source-map-loader/-/source-map-loader-0.2.3.tgz", - "integrity": "sha512-MYbFX9DYxmTQFfy2v8FC1XZwpwHKYxg3SK8Wb7VPBKuhDjz8gi9re2819MsG4p49HDyiOSUKlmZ+nQBArW5CGw==", - "dev": true, - "requires": { - "async": "2.6.0", - "loader-utils": "0.2.17", - "source-map": "0.6.1" - }, - "dependencies": { - "loader-utils": { - "version": "0.2.17", - "resolved": "https://registry.npmjs.org/loader-utils/-/loader-utils-0.2.17.tgz", - "integrity": "sha1-+G5jdNQyBabmxg6RlvF8Apm/s0g=", - "dev": true, - "requires": { - "big.js": "3.2.0", - "emojis-list": "2.1.0", - "json5": "0.5.1", - "object-assign": "4.1.1" - } - }, - "source-map": { - "version": "0.6.1", - "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.6.1.tgz", - "integrity": "sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g==", - "dev": true - } - } - }, "source-map-resolve": { "version": "0.5.1", "resolved": "https://registry.npmjs.org/source-map-resolve/-/source-map-resolve-0.5.1.tgz", @@ -13274,6 +13241,12 @@ } } }, + "tryer": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/tryer/-/tryer-1.0.0.tgz", + "integrity": "sha1-Antp+oIyJeVRys4+8DsR9qs3wdc=", + "dev": true + }, "ts-node": { "version": "4.1.0", "resolved": "https://registry.npmjs.org/ts-node/-/ts-node-4.1.0.tgz", @@ -13468,9 +13441,9 @@ "dev": true }, "typescript": { - "version": "2.5.3", - "resolved": "https://registry.npmjs.org/typescript/-/typescript-2.5.3.tgz", - "integrity": "sha512-ptLSQs2S4QuS6/OD1eAKG+S5G8QQtrU5RT32JULdZQtM1L3WTi34Wsu48Yndzi8xsObRAB9RPt/KhA9wlpEF6w==", + "version": "2.6.2", + "resolved": "https://registry.npmjs.org/typescript/-/typescript-2.6.2.tgz", + "integrity": "sha1-PFtv1/beCRQmkCfwPAlGdY92c6Q=", "dev": true }, "uglify-js": { @@ -14327,48 +14300,45 @@ } }, "webpack-bundle-analyzer": { - "version": "2.9.2", - "resolved": "https://registry.npmjs.org/webpack-bundle-analyzer/-/webpack-bundle-analyzer-2.9.2.tgz", - "integrity": "sha1-Y+2G63HMTNqG9o5oWoRTC6ASZEk=", + "version": "2.10.0", + "resolved": "https://registry.npmjs.org/webpack-bundle-analyzer/-/webpack-bundle-analyzer-2.10.0.tgz", + "integrity": "sha512-eA/9F/ZLFlVXfCLYqefHFbelJ3JcvyeFdmpAG6Vu3iJNcisj3KWNPqu00lCqK9caeaesipVrGb9alUSi2lEvAg==", "dev": true, "requires": { "acorn": "5.3.0", - "chalk": "1.1.3", + "bfj-node4": "5.2.0", + "chalk": "2.3.0", "commander": "2.13.0", "ejs": "2.5.7", "express": "4.16.2", "filesize": "3.5.11", - "gzip-size": "3.0.0", + "gzip-size": "4.1.0", "lodash": "4.17.4", "mkdirp": "0.5.1", "opener": "1.4.3", "ws": "4.0.0" }, "dependencies": { - "ansi-styles": { - "version": "2.2.1", - "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-2.2.1.tgz", - "integrity": "sha1-tDLdM1i2NM914eRmQ2gkBTPB3b4=", - "dev": true - }, "chalk": { - "version": "1.1.3", - "resolved": "https://registry.npmjs.org/chalk/-/chalk-1.1.3.tgz", - "integrity": "sha1-qBFcVeSnAv5NFQq9OHKCKn4J/Jg=", + "version": "2.3.0", + "resolved": "https://registry.npmjs.org/chalk/-/chalk-2.3.0.tgz", + "integrity": "sha512-Az5zJR2CBujap2rqXGaJKaPHyJ0IrUimvYNX+ncCy8PJP4ltOGTrHUIo097ZaL2zMeKYpiCdqDvS6zdrTFok3Q==", "dev": true, "requires": { - "ansi-styles": "2.2.1", + "ansi-styles": "3.2.0", "escape-string-regexp": "1.0.5", - "has-ansi": "2.0.0", - "strip-ansi": "3.0.1", - "supports-color": "2.0.0" + "supports-color": "4.5.0" } }, - "supports-color": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-2.0.0.tgz", - "integrity": "sha1-U10EXOa2Nj+kARcIRimZXp3zJMc=", - "dev": true + "gzip-size": { + "version": "4.1.0", + "resolved": "https://registry.npmjs.org/gzip-size/-/gzip-size-4.1.0.tgz", + "integrity": "sha1-iuCWJX6r59acRb4rZ8RIEk/7UXw=", + "dev": true, + "requires": { + "duplexer": "0.1.1", + "pify": "3.0.0" + } }, "ws": { "version": "4.0.0", diff --git a/package.json b/package.json index 852ef5e2..4f872368 100644 --- a/package.json +++ b/package.json @@ -1,6 +1,6 @@ { "name": "fuse2", - "version": "1.3.5", + "version": "1.3.6", "license": "https://themeforest.net/licenses/terms/regular", "scripts": { "ng": "ng", @@ -19,19 +19,19 @@ "private": true, "dependencies": { "@agm/core": "1.0.0-beta.2", - "@angular/animations": "5.2.1", - "@angular/cdk": "5.1.0", - "@angular/common": "5.2.1", - "@angular/compiler": "5.2.1", - "@angular/core": "5.2.1", + "@angular/animations": "5.2.3", + "@angular/cdk": "5.1.1", + "@angular/common": "5.2.3", + "@angular/compiler": "5.2.3", + "@angular/core": "5.2.3", "@angular/flex-layout": "2.0.0-beta.12", - "@angular/forms": "5.2.1", - "@angular/http": "5.2.1", - "@angular/material": "5.1.0", - "@angular/material-moment-adapter": "5.1.0", - "@angular/platform-browser": "5.2.1", - "@angular/platform-browser-dynamic": "5.2.1", - "@angular/router": "5.2.1", + "@angular/forms": "5.2.3", + "@angular/http": "5.2.3", + "@angular/material": "5.1.1", + "@angular/material-moment-adapter": "5.1.1", + "@angular/platform-browser": "5.2.3", + "@angular/platform-browser-dynamic": "5.2.3", + "@angular/router": "5.2.3", "@ngrx/effects": "5.0.0", "@ngrx/router-store": "5.0.0", "@ngrx/store": "5.0.0", @@ -39,33 +39,33 @@ "@ngx-translate/core": "9.1.1", "@swimlane/ngx-charts": "7.0.1", "@swimlane/ngx-datatable": "11.1.7", - "@swimlane/ngx-dnd": "3.1.0", + "@swimlane/ngx-dnd": "3.1.2", "@types/prismjs": "1.9.0", - "angular-calendar": "0.23.2", - "angular-in-memory-web-api": "0.5.2", + "angular-calendar": "0.23.3", + "angular-in-memory-web-api": "0.5.3", "chart.js": "2.7.1", "classlist.js": "1.1.20150312", "core-js": "2.5.3", - "d3": "4.12.2", + "d3": "4.13.0", "hammerjs": "2.0.8", "intl": "1.2.5", "moment": "2.20.1", "ng2-charts": "1.6.0", - "ngrx-store-freeze": "0.2.0", - "ngx-color-picker": "5.3.0", + "ngrx-store-freeze": "0.2.1", + "ngx-color-picker": "5.3.1", "ngx-cookie-service": "1.0.10", "perfect-scrollbar": "1.3.0", - "prismjs": "1.10.0", + "prismjs": "1.11.0", "rxjs": "5.5.6", "web-animations-js": "2.3.1", "zone.js": "0.8.20" }, "devDependencies": { - "@angular/cli": "1.6.5", - "@angular/compiler-cli": "5.2.1", - "@angular/language-service": "5.2.1", + "@angular/cli": "1.6.7", + "@angular/compiler-cli": "5.2.3", + "@angular/language-service": "5.2.3", "@angularclass/hmr": "2.1.3", - "@types/jasmine": "2.8.5", + "@types/jasmine": "2.8.6", "@types/jasminewd2": "2.0.3", "@types/node": "6.0.96", "codelyzer": "4.1.0", @@ -73,14 +73,13 @@ "jasmine-spec-reporter": "4.2.1", "karma": "2.0.0", "karma-chrome-launcher": "2.2.0", - "karma-cli": "1.0.1", - "karma-coverage-istanbul-reporter": "1.3.3", + "karma-coverage-istanbul-reporter": "1.4.1", "karma-jasmine": "1.1.1", "karma-jasmine-html-reporter": "0.2.2", "protractor": "5.1.2", "ts-node": "4.1.0", "tslint": "5.9.1", - "typescript": "2.5.3", - "webpack-bundle-analyzer": "2.9.2" + "typescript": "2.6.2", + "webpack-bundle-analyzer": "2.10.0" } } diff --git a/src/app/app.module.ts b/src/app/app.module.ts index 2087f484..1fe9cb41 100644 --- a/src/app/app.module.ts +++ b/src/app/app.module.ts @@ -42,7 +42,7 @@ const appRoutes: Routes = [ }, { path : '**', - redirectTo: 'apps/dashboards/project' + redirectTo: 'apps/dashboards/analytics' } ]; diff --git a/src/app/fuse-fake-db/dashboard-analytics.ts b/src/app/fuse-fake-db/dashboard-analytics.ts index 086e5d34..77123a28 100644 --- a/src/app/fuse-fake-db/dashboard-analytics.ts +++ b/src/app/fuse-fake-db/dashboard-analytics.ts @@ -1,12 +1,6 @@ export class AnalyticsDashboardDb { public static widgets = { - /*widget2: { - overallGrowthPercentage: 17, - overallGrowthTrend : 'decrease', - averageDailyPercentage : 28, - averageDailyTrend : 'increase' - },*/ widget1: { chartType: 'line', datasets : { @@ -108,156 +102,166 @@ export class AnalyticsDashboardDb widget2: { conversion: { value : 492, - ofTarget: 22 + ofTarget: 13 }, - scheme : { - domain: ['#5c84f1'] - }, - data : [ + chartType : 'bar', + datasets : [ { - name : 'Monday', - value: 221 - }, - { - name : 'Tuesday', - value: 428 - }, - { - name : 'Wednesday', - value: 492 - }, - { - name : 'Thursday', - value: 471 - }, - { - name : 'Friday', - value: 413 - }, - { - name : 'Saturday', - value: 344 - }, - { - name : 'Sunday', - value: 294 + label: 'Conversion', + data : [221, 428, 492, 471, 413, 344, 294] } - ] - }, - widget3: { - impressions: { - value : '87.4M', - ofTarget: 12.3 - }, - scheme : { - domain: ['#5c84f1'] - }, - data : [ + ], + labels : ['Monday', 'Tuesday', 'Wednesday', 'Thursday', 'Friday', 'Saturday', 'Sunday'], + colors : [ { - name : 'Impressions', - series: [ + borderColor : '#42a5f5', + backgroundColor: '#42a5f5' + } + ], + options : { + spanGaps : false, + legend : { + display: false + }, + maintainAspectRatio: false, + layout : { + padding: { + top : 24, + left : 16, + right : 16, + bottom: 16 + } + }, + scales : { + xAxes: [ { - name : 'Jan 1', - value: 670000 - }, + display: false + } + ], + yAxes: [ { - name : 'Jan 2', - value: 540000 - }, - { - name : 'Jan 3', - value: 820000 - }, - { - name : 'Jan 4', - value: 570000 - }, - { - name : 'Jan 5', - value: 720000 - }, - { - name : 'Jan 6', - value: 570000 - }, - { - name : 'Jan 7', - value: 870000 - }, - { - name : 'Jan 8', - value: 720000 - }, - { - name : 'Jan 9', - value: 890000 - }, - { - name : 'Jan 10', - value: 987000 - }, - { - name : 'Jan 11', - value: 1120000 - }, - { - name : 'Jan 12', - value: 1360000 - }, - { - name : 'Jan 13', - value: 1100000 - }, - { - name : 'Jan 14', - value: 1490000 - }, - { - name : 'Jan 15', - value: 980000 + display: false, + ticks : { + min: 100, + max: 500 + } } ] } - ] + } + }, + widget3: { + impressions: { + value : '87k', + ofTarget: 12 + }, + chartType : 'line', + datasets : [ + { + label: 'Impression', + data : [67000, 54000, 82000, 57000, 72000, 57000, 87000, 72000, 89000, 98700, 112000, 136000, 110000, 149000, 98000], + fill : false + } + ], + labels : ['Jan 1', 'Jan 2', 'Jan 3', 'Jan 4', 'Jan 5', 'Jan 6', 'Jan 7', 'Jan 8', 'Jan 9', 'Jan 10', 'Jan 11', 'Jan 12', 'Jan 13', 'Jan 14', 'Jan 15'], + colors : [ + { + borderColor: '#5c84f1' + } + ], + options : { + spanGaps : false, + legend : { + display: false + }, + maintainAspectRatio: false, + elements : { + point: { + radius : 2, + borderWidth : 1, + hoverRadius : 2, + hoverBorderWidth: 1 + }, + line : { + tension: 0 + } + }, + layout : { + padding: { + top : 24, + left : 16, + right : 16, + bottom: 16 + } + }, + scales : { + xAxes: [ + { + display: false + } + ], + yAxes: [ + { + display: false, + ticks : { + // min: 100, + // max: 500 + } + } + ] + } + } }, widget4: { - visits: { + visits : { value : 882, - ofTarget: -12 + ofTarget: -9 }, - scheme: { - domain: ['#f44336'] - }, - data : [ + chartType: 'bar', + datasets : [ { - name : 'Monday', - value: 432 - }, - { - name : 'Tuesday', - value: 428 - }, - { - name : 'Wednesday', - value: 477 - }, - { - name : 'Thursday', - value: 471 - }, - { - name : 'Friday', - value: 456 - }, - { - name : 'Saturday', - value: 267 - }, - { - name : 'Sunday', - value: 231 + label: 'Visits', + data : [432, 428, 327, 363, 456, 267, 231] } - ] + ], + labels : ['Monday', 'Tuesday', 'Wednesday', 'Thursday', 'Friday', 'Saturday', 'Sunday'], + colors : [ + { + borderColor : '#f44336', + backgroundColor: '#f44336' + } + ], + options : { + spanGaps : false, + legend : { + display: false + }, + maintainAspectRatio: false, + layout : { + padding: { + top : 24, + left : 16, + right : 16, + bottom: 16 + } + }, + scales : { + xAxes: [ + { + display: false + } + ], + yAxes: [ + { + display: false, + ticks : { + min: 150, + max: 500 + } + } + ] + } + } }, widget5: { chartType: 'line', @@ -349,7 +353,7 @@ export class AnalyticsDashboardDb gridLines: { tickMarkLength: 16 }, - ticks : { + ticks : { stepSize: 1000 } } @@ -365,55 +369,135 @@ export class AnalyticsDashboardDb widget6: { markers: [ { - lat: 52, - lng: -73, + lat : 52, + lng : -73, label: '120' }, { - lat: 37, - lng: -104, + lat : 37, + lng : -104, label: '498' }, { - lat: 21, - lng: -7, + lat : 21, + lng : -7, label: '443' }, { - lat: 55, - lng: 75, + lat : 55, + lng : 75, label: '332' }, { - lat: 51, - lng: 7, + lat : 51, + lng : 7, label: '50' }, { - lat: 31, - lng: 12, + lat : 31, + lng : 12, label: '221' }, { - lat: 45, - lng: 44, + lat : 45, + lng : 44, label: '455' }, { - lat: -26, - lng: 134, + lat : -26, + lng : 134, label: '231' }, { - lat: -9, - lng: -60, + lat : -9, + lng : -60, label: '67' }, { - lat: 33, - lng: 104, + lat : 33, + lng : 104, label: '665' } + ], + styles : [ + { + 'featureType': 'administrative', + 'elementType': 'labels.text.fill', + 'stylers' : [ + { + 'color': '#444444' + } + ] + }, + { + 'featureType': 'landscape', + 'elementType': 'all', + 'stylers' : [ + { + 'color': '#f2f2f2' + } + ] + }, + { + 'featureType': 'poi', + 'elementType': 'all', + 'stylers' : [ + { + 'visibility': 'off' + } + ] + }, + { + 'featureType': 'road', + 'elementType': 'all', + 'stylers' : [ + { + 'saturation': -100 + }, + { + 'lightness': 45 + } + ] + }, + { + 'featureType': 'road.highway', + 'elementType': 'all', + 'stylers' : [ + { + 'visibility': 'simplified' + } + ] + }, + { + 'featureType': 'road.arterial', + 'elementType': 'labels.icon', + 'stylers' : [ + { + 'visibility': 'off' + } + ] + }, + { + 'featureType': 'transit', + 'elementType': 'all', + 'stylers' : [ + { + 'visibility': 'off' + } + ] + }, + { + 'featureType': 'water', + 'elementType': 'all', + 'stylers' : [ + { + 'color': '#039be5' + }, + { + 'visibility': 'on' + } + ] + } ] }, widget7: { diff --git a/src/app/main/content/apps/dashboards/analytics/analytics.component.html b/src/app/main/content/apps/dashboards/analytics/analytics.component.html index 803fdcd2..9c8f35f2 100644 --- a/src/app/main/content/apps/dashboards/analytics/analytics.component.html +++ b/src/app/main/content/apps/dashboards/analytics/analytics.component.html @@ -1,32 +1,5 @@
- -
-
+
-
+
-
+
-
-
Conversion
-
- {{widgets.widget2.conversion.value}} +
+ +
+
Conversion
+
+ {{widgets.widget2.conversion.value}} +
+ +
+
+ trending_up + {{widgets.widget2.conversion.ofTarget}}% +
+
+ trending_down + {{widgets.widget2.conversion.ofTarget}}% +
+
of target
+
+
-
- - {{widgets.widget2.conversion.ofTarget}}% - - - {{widgets.widget2.conversion.ofTarget}}% - - of target -
- -
- - +
+ +
@@ -111,32 +96,43 @@ -
+
-
+
-
-
Impressions
-
- {{widgets.widget3.impressions.value}} +
+ +
+
Impressions
+
+ {{widgets.widget3.impressions.value}} +
+ +
+
+ trending_up + {{widgets.widget3.impressions.ofTarget}}% +
+
+ trending_down + {{widgets.widget3.impressions.ofTarget}}% +
+
of target
+
+
-
- - {{widgets.widget3.impressions.ofTarget}}% - - - {{widgets.widget3.impressions.ofTarget}}% - - of target -
- -
- - +
+ +
@@ -145,32 +141,43 @@ -
+
-
-
Visits
-
- {{widgets.widget4.visits.value}} +
+ +
+
Visits
+
+ {{widgets.widget4.visits.value}} +
+ +
+
+ trending_up + {{widgets.widget4.visits.ofTarget}}% +
+
+ trending_down + {{widgets.widget4.visits.ofTarget}}% +
+
of target
+
+
-
- - {{widgets.widget4.visits.ofTarget}}% - - - {{widgets.widget4.visits.ofTarget}}% - - of target -
- -
- - +
+ +
@@ -181,11 +188,11 @@
-
+
How many pages your users visit?
-
+
@@ -220,22 +227,22 @@ -
+
Where are your users?
-
+
+ + [scrollwheel]="false" + [styles]="widgets.widget6.styles"> +
-
-
+
-
- What are your top devices? -
+
-
- -
-
Sessions by device
+
+ What are your top devices?
-
- - -
+
-
+
+
Sessions by device
+
-
+
+ + +
-
{{device.name}}
-
{{device.value}}%
+
-
- - arrow_downward - +
- - arrow_upward - +
{{device.name}}
+
{{device.value}}%
-
- {{device.change}}% +
+ + arrow_downward + + + + arrow_upward + + +
+ {{device.change}}% +
+
-
+
-
+
+ + + Today + Yesterday + Last 7 days + Last 28 days + Last 90 days + + -
- - - Today - Yesterday - Last 7 days - Last 28 days - Last 90 days - - + +
-
-
- How are your sales? -
+
-
+
+ How are your sales? +
-
+
-
-
-
Sales
-
Lifetime sum of your sales
+
+ +
+
+
Sales
+
Lifetime sum of your sales
+
+ +
+ + + + + + + +
+
+
{{widgets.widget8.today}}
+
+ trending_up + trending_down +
{{widgets.widget8.change.value}} + ({{widgets.widget8.change.percentage}}%) +
+
+
+ +
+ + + +
+ + +
+
+ + +
+ + +
+
+ + +
+ + +
+
+
+ +
+ +
+ + + + +
+ +
+ What are your top campaigns? +
+ +
+ +
+
Top campaigns
+
- - - - -
-
-
{{widgets.widget8.today}}
-
- trending_up - trending_down -
{{widgets.widget8.change.value}} - ({{widgets.widget8.change.percentage}}%) -
-
+ + + + + + + + + + + + + + + +
ClicksConv
{{row.title}}{{row.clicks}}{{row.conversion}}
+ +
+ +
+
- - -
- - -
-
- - -
- - -
-
- - -
- - -
-
-
- -
- - - -
- What are your top campaigns? -
- -
- -
-
Top campaigns
- -
- - - - - - - -
-
- - - - - - - - - - - - - - - - -
ClicksConv
{{row.title}}{{row.clicks}}{{row.conversion}}
- -
- -
- -
-
@@ -485,5 +507,4 @@
-
diff --git a/src/app/main/content/apps/dashboards/analytics/analytics.component.scss b/src/app/main/content/apps/dashboards/analytics/analytics.component.scss index b468e72c..60e4858d 100644 --- a/src/app/main/content/apps/dashboards/analytics/analytics.component.scss +++ b/src/app/main/content/apps/dashboards/analytics/analytics.component.scss @@ -1,37 +1,7 @@ +@import "src/app/core/scss/fuse"; + #dashboard-analytics { - /*#widget1 { - - .line-series { - - .line { - stroke-width: 2px; - } - } - - .gridline-path { - - &.gridline-path-horizontal { - stroke: rgba(255, 255, 255, 0.12); - } - - &.gridline-path-vertical { - stroke-width: 0; - } - } - - .tick { - - text { - fill: rgba(255, 255, 255, 0.37) - } - } - - .tooltip-anchor { - fill: rgba(255, 255, 255, 0.54); - } - }*/ - .main-widget { display: flex; flex-direction: column; @@ -39,16 +9,23 @@ .content { display: flex; - flex: 1 0 auto; + flex: 1 1 auto; padding: 32px; + min-width: 0; + + @include media-breakpoint-down('md') { + flex-direction: column; + } .left { display: flex; flex-direction: column; - flex: 1 0 auto; + flex: 1 1 auto; + min-width: 0; .widget { - flex: 1 0 auto; + flex: 1 1 auto; + min-width: 0; } } @@ -58,6 +35,14 @@ width: 320px; min-width: 320px; max-width: 320px; + + @include media-breakpoint-down('md') { + flex: 1 0 100%; + margin-top: 32px; + width: 100%; + min-width: 0; + max-width: none; + } } } diff --git a/src/app/navigation/navigation.model.ts b/src/app/navigation/navigation.model.ts index 28499e8d..0ab3b6a4 100644 --- a/src/app/navigation/navigation.model.ts +++ b/src/app/navigation/navigation.model.ts @@ -21,18 +21,18 @@ export class FuseNavigationModel implements FuseNavigationModelInterface 'type' : 'collapse', 'icon' : 'dashboard', 'children' : [ + { + 'id' : 'analytics', + 'title': 'Analytics', + 'type' : 'item', + 'url' : '/apps/dashboards/analytics' + }, { 'id' : 'project', 'title': 'Project', 'type' : 'item', 'url' : '/apps/dashboards/project' }, - { - 'id' : 'analytics', - 'title': 'Analytics', - 'type' : 'item', - 'url' : '/apps/dashboards/analytics' - } ] }, {