Finished up the Analytics Dashboard

+ Updated the Angular Material version along with couple other libraries
+ Increased the version number of the Fuse
This commit is contained in:
Sercan Yemen 2018-02-05 15:08:18 +03:00
parent f246fab1f4
commit 99696cabf7
7 changed files with 808 additions and 749 deletions

454
package-lock.json generated
View File

@ -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",

View File

@ -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"
}
}

View File

@ -42,7 +42,7 @@ const appRoutes: Routes = [
},
{
path : '**',
redirectTo: 'apps/dashboards/project'
redirectTo: 'apps/dashboards/analytics'
}
];

View File

@ -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
},
label: 'Conversion',
data : [221, 428, 492, 471, 413, 344, 294]
}
],
labels : ['Monday', 'Tuesday', 'Wednesday', 'Thursday', 'Friday', 'Saturday', 'Sunday'],
colors : [
{
name : 'Tuesday',
value: 428
borderColor : '#42a5f5',
backgroundColor: '#42a5f5'
}
],
options : {
spanGaps : false,
legend : {
display: false
},
{
name : 'Wednesday',
value: 492
maintainAspectRatio: false,
layout : {
padding: {
top : 24,
left : 16,
right : 16,
bottom: 16
}
},
scales : {
xAxes: [
{
name : 'Thursday',
value: 471
},
display: false
}
],
yAxes: [
{
name : 'Friday',
value: 413
},
{
name : 'Saturday',
value: 344
},
{
name : 'Sunday',
value: 294
display: false,
ticks : {
min: 100,
max: 500
}
}
]
}
}
},
widget3: {
impressions: {
value : '87.4M',
ofTarget: 12.3
value : '87k',
ofTarget: 12
},
scheme : {
domain: ['#5c84f1']
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
},
data : [
{
name : 'Impressions',
series: [
{
name : 'Jan 1',
value: 670000
maintainAspectRatio: false,
elements : {
point: {
radius : 2,
borderWidth : 1,
hoverRadius : 2,
hoverBorderWidth: 1
},
{
name : 'Jan 2',
value: 540000
line : {
tension: 0
}
},
{
name : 'Jan 3',
value: 820000
layout : {
padding: {
top : 24,
left : 16,
right : 16,
bottom: 16
}
},
scales : {
xAxes: [
{
name : 'Jan 4',
value: 570000
},
display: false
}
],
yAxes: [
{
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
}
}
]
}
]
}
},
widget4: {
visits: {
visits : {
value : 882,
ofTarget: -12
ofTarget: -9
},
scheme: {
domain: ['#f44336']
},
data : [
chartType: 'bar',
datasets : [
{
name : 'Monday',
value: 432
},
label: 'Visits',
data : [432, 428, 327, 363, 456, 267, 231]
}
],
labels : ['Monday', 'Tuesday', 'Wednesday', 'Thursday', 'Friday', 'Saturday', 'Sunday'],
colors : [
{
name : 'Tuesday',
value: 428
borderColor : '#f44336',
backgroundColor: '#f44336'
}
],
options : {
spanGaps : false,
legend : {
display: false
},
{
name : 'Wednesday',
value: 477
maintainAspectRatio: false,
layout : {
padding: {
top : 24,
left : 16,
right : 16,
bottom: 16
}
},
scales : {
xAxes: [
{
name : 'Thursday',
value: 471
},
display: false
}
],
yAxes: [
{
name : 'Friday',
value: 456
},
{
name : 'Saturday',
value: 267
},
{
name : 'Sunday',
value: 231
display: false,
ticks : {
min: 150,
max: 500
}
}
]
}
}
},
widget5: {
chartType: 'line',
@ -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: {

View File

@ -1,32 +1,5 @@
<div id="dashboard-analytics" class="page-layout blank grey-100-bg" fusePerfectScrollbar>
<!--<div fxLayout="row" fxLayoutAlign="start center" class="p-24">
<div fxFlex="33" class="position-relative h-200 pb-16 mat-elevation-z2 mr-16 p-16 white-bg">
<div class="h2 mb-8">Site Traffic</div>
<div fxLayout="row" fxLayoutAlign="start center">
<div>
<div class="h3 secondary-text">Overall Growth</div>
<div fxLayout="row" fxLayoutAlign="start center">
<span *ngIf="widgets.widget1.overallGrowthTrend === 'increase'">
<mat-icon class="green-fg mr-8">trending_up</mat-icon>
</span>
<span *ngIf="widgets.widget1.overallGrowthTrend === 'decrease'">
<mat-icon class="red-fg mr-8">trending_down</mat-icon>
</span>
<span class="h2 text-bold">{{widgets.widget1.overallGrowthPercentage}}</span>
</div>
</div>
</div>
</div>
</div>-->
<div class="main-widget">
<div class="position-relative p-24 mat-blue-600-bg"
@ -74,35 +47,47 @@
How are your active users trending over time?
</div>
<div fxLayout="row" fxLayoutAlign="start start">
<div fxLayout="column" fxLayoutAlign="start"
fxLayout.gt-sm="row" fxLayoutAlign.gt-sm="start start">
<!-- Widget 2 -->
<div class="widget">
<div class="widget" fxFlex="100" fxFlex.gt-sm="33">
<div class="fuse-card auto-width mr-32">
<div class="fuse-card auto-width mb-32" [ngClass.gt-sm]="'mb-0 mr-32'">
<div class="p-16">
<div class="h5 secondary-text">Conversion</div>
<div class="p-16 pb-0" fxLayout="row" fxLayoutAlign="start end" fxLayoutWrap>
<div class="pr-16">
<div class="h3 secondary-text">Conversion</div>
<div class="font-size-54 font-weight-300 line-height-1 mt-8">
{{widgets.widget2.conversion.value}}
</div>
</div>
<div class="p-16 pt-0">
<span class="green-fg" *ngIf="widgets.widget2.conversion.ofTarget > 0">
{{widgets.widget2.conversion.ofTarget}}%
</span>
<span class="red-fg" *ngIf="widgets.widget2.conversion.ofTarget < 0">
{{widgets.widget2.conversion.ofTarget}}%
</span>
<span> of target</span>
<div class="py-4 font-size-16" fxLayout="row" fxLayoutAlign="start center">
<div fxFlex="row" fxLayoutAlign="start center" class="green-fg"
*ngIf="widgets.widget2.conversion.ofTarget > 0">
<mat-icon class="green-fg mr-4">trending_up</mat-icon>
<span>{{widgets.widget2.conversion.ofTarget}}%</span>
</div>
<div fxFlex="row" fxLayoutAlign="start center" class="red-fg"
*ngIf="widgets.widget2.conversion.ofTarget < 0">
<mat-icon class="red-fg mr-4">trending_down</mat-icon>
<span>{{widgets.widget2.conversion.ofTarget}}%</span>
</div>
<div class="ml-4 text-nowrap">of target</div>
</div>
<div class="h-64">
<ngx-charts-bar-vertical
[scheme]="widgets.widget2.scheme"
[results]="widgets.widget2.data">
</ngx-charts-bar-vertical>
</div>
<div class="h-96 w-100-p">
<canvas baseChart
[datasets]="widgets.widget2.datasets"
[labels]="widgets.widget2.labels"
[colors]="widgets.widget2.colors"
[options]="widgets.widget2.options"
[chartType]="widgets.widget2.chartType">
</canvas>
</div>
</div>
@ -111,32 +96,43 @@
<!-- / Widget 2 -->
<!-- Widget 3 -->
<div class="widget">
<div class="widget" fxFlex="100" fxFlex.gt-sm="34">
<div class="fuse-card auto-width mr-32">
<div class="fuse-card auto-width mb-32" [ngClass.gt-sm]="'mb-0 mr-32'">
<div class="p-16">
<div class="h5 secondary-text">Impressions</div>
<div class="p-16 pb-0" fxLayout="row" fxLayoutAlign="start end" fxLayoutWrap>
<div class="pr-16">
<div class="h3 secondary-text">Impressions</div>
<div class="font-size-54 font-weight-300 line-height-1 mt-8">
{{widgets.widget3.impressions.value}}
</div>
</div>
<div class="p-16 pt-0">
<span class="green-fg" *ngIf="widgets.widget3.impressions.ofTarget > 0">
{{widgets.widget3.impressions.ofTarget}}%
</span>
<span class="red-fg" *ngIf="widgets.widget3.impressions.ofTarget < 0">
{{widgets.widget3.impressions.ofTarget}}%
</span>
<span> of target</span>
<div class="py-4 font-size-16" fxLayout="row" fxLayoutAlign="start center">
<div fxFlex="row" fxLayoutAlign="start center" class="green-fg"
*ngIf="widgets.widget3.impressions.ofTarget > 0">
<mat-icon class="green-fg mr-4">trending_up</mat-icon>
<span>{{widgets.widget3.impressions.ofTarget}}%</span>
</div>
<div fxFlex="row" fxLayoutAlign="start center" class="red-fg"
*ngIf="widgets.widget3.impressions.ofTarget < 0">
<mat-icon class="red-fg mr-4">trending_down</mat-icon>
<span>{{widgets.widget3.impressions.ofTarget}}%</span>
</div>
<div class="ml-4 text-nowrap">of target</div>
</div>
<div class="h-64">
<ngx-charts-line-chart
[scheme]="widgets.widget3.scheme"
[results]="widgets.widget3.data">
</ngx-charts-line-chart>
</div>
<div class="h-96 w-100-p">
<canvas baseChart
[datasets]="widgets.widget3.datasets"
[labels]="widgets.widget3.labels"
[colors]="widgets.widget3.colors"
[options]="widgets.widget3.options"
[chartType]="widgets.widget3.chartType">
</canvas>
</div>
</div>
@ -145,32 +141,43 @@
<!-- / Widget 3 -->
<!-- Widget 4 -->
<div class="widget">
<div class="widget" fxFlex="100" fxFlex.gt-sm="33">
<div class="fuse-card auto-width">
<div class="p-16">
<div class="h5 secondary-text">Visits</div>
<div class="p-16 pb-0" fxLayout="row" fxLayoutAlign="start end" fxLayoutWrap>
<div class="pr-16">
<div class="h3 secondary-text">Visits</div>
<div class="font-size-54 font-weight-300 line-height-1 mt-8">
{{widgets.widget4.visits.value}}
</div>
</div>
<div class="p-16 pt-0">
<span class="green-fg" *ngIf="widgets.widget4.visits.ofTarget > 0">
{{widgets.widget4.visits.ofTarget}}%
</span>
<span class="red-fg" *ngIf="widgets.widget4.visits.ofTarget < 0">
{{widgets.widget4.visits.ofTarget}}%
</span>
<span> of target</span>
<div class="py-4 font-size-16" fxLayout="row" fxLayoutAlign="start center">
<div fxFlex="row" fxLayoutAlign="start center" class="green-fg"
*ngIf="widgets.widget4.visits.ofTarget > 0">
<mat-icon class="green-fg mr-4">trending_up</mat-icon>
<span>{{widgets.widget4.visits.ofTarget}}%</span>
</div>
<div fxFlex="row" fxLayoutAlign="start center" class="red-fg"
*ngIf="widgets.widget4.visits.ofTarget < 0">
<mat-icon class="red-fg mr-4">trending_down</mat-icon>
<span>{{widgets.widget4.visits.ofTarget}}%</span>
</div>
<div class="ml-4 text-nowrap">of target</div>
</div>
<div class="h-64">
<ngx-charts-bar-vertical
[scheme]="widgets.widget4.scheme"
[results]="widgets.widget4.data">
</ngx-charts-bar-vertical>
</div>
<div class="h-96 w-100-p">
<canvas baseChart
[datasets]="widgets.widget4.datasets"
[labels]="widgets.widget4.labels"
[colors]="widgets.widget4.colors"
[options]="widgets.widget4.options"
[chartType]="widgets.widget4.chartType">
</canvas>
</div>
</div>
@ -181,11 +188,11 @@
</div>
<!-- Widget 5 -->
<div class="pt-32 pb-24 font-size-18 font-weight-300">
<div class="pt-48 pb-24 font-size-18 font-weight-300">
How many pages your users visit?
</div>
<div class="white-bg mat-elevation-z2">
<div class="fuse-card auto-width">
<div class="position-relative p-24"
fxLayout="row" fxLayoutAlign="space-between center">
@ -220,22 +227,22 @@
<!-- / Widget 5 -->
<!-- Widget 6 -->
<div class="pt-32 pb-24 font-size-18 font-weight-300">
<div class="pt-48 pb-24 font-size-18 font-weight-300">
Where are your users?
</div>
<div>
<div class="fuse-card auto-width p-16">
<agm-map class="h-640 w-100-p"
[minZoom]="2"
[maxZoom]="2"
[mapDraggable]="false"
[fullscreenControl]="false"
[panControl]="false"
[rotateControl]="false"
[zoomControl]="false"
[scaleControl]="false"
[streetViewControl]="false"
[scrollwheel]="false">
[scrollwheel]="false"
[styles]="widgets.widget6.styles">
<agm-marker
*ngFor="let marker of widgets.widget6.markers"
[latitude]="marker.lat"
@ -247,22 +254,25 @@
</agm-marker>
</agm-map>
</div>
<!-- / Widget 6 -->
</div>
<div class="right">
<div fxLayout="column">
<div fxLayout="row" fxLayoutWrap
fxLayout.gt-md="column">
<!-- Widget 7 -->
<div class="mb-48" [ngClass.lt-lg]="'mr-32'">
<div class="pb-24 font-size-18 font-weight-300">
What are your top devices?
</div>
<div class="fuse-card mb-32">
<div class="fuse-card">
<div class="p-16">
<div class="h1 font-weight-300">Sessions by device</div>
@ -270,6 +280,7 @@
<div class="h-200">
<ngx-charts-pie-chart
*fuseIfOnDom
[scheme]="widgets.widget7.scheme"
[results]="widgets.widget7.devices"
[doughnut]="true">
@ -322,14 +333,18 @@
</div>
</div>
</div>
<!-- / Widget 7 -->
<!-- Widget 8 -->
<div class="mb-48" [ngClass.lt-lg]="'mr-32'">
<div class="pb-24 font-size-18 font-weight-300">
How are your sales?
</div>
<div class="fuse-card mb-32">
<div class="fuse-card">
<div class="mat-light-blue-600-bg">
@ -419,14 +434,19 @@
</mat-tab-group>
</div>
</div>
<!-- / Widget 8 -->
<!-- Widget 9 -->
<div class="pb-24 font-size-18 font-weight-300">
<div class="mb-48" [ngClass.lt-lg]="'mr-32'">
<div class="pb-24 font-size-18 font-weight-300" [ngClass.lt-lg]="'pt-0'">
What are your top campaigns?
</div>
<div class="fuse-card mb-32">
<div class="fuse-card">
<div class="p-16" fxLayout="row" fxLayoutAlign="space-between center">
<div class="h1 pr-16">Top campaigns</div>
@ -477,6 +497,8 @@
</div>
</div>
</div>
<!-- / widget 9 -->
</div>
@ -485,5 +507,4 @@
</div>
</div>

View File

@ -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;
}
}
}

View File

@ -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'
}
]
},
{