Compare commits

...

29 Commits

Author SHA1 Message Date
Sercan Yemen
1d21a14d0e Merge branch 'master' into skeleton 2017-08-30 20:52:23 +03:00
Sercan Yemen
d5b6dea1a2 update version 2017-08-30 20:52:08 +03:00
Sercan Yemen
4bf2ba73ad merge 'master' into skeleton 2017-08-30 20:08:12 +03:00
Sercan Yemen
31087186f7 Merge branch 'scrumboard-app' 2017-08-30 20:03:21 +03:00
Sercan Yemen
48a47a0876 sidenav helper small tweaks
+ chat & toolbar small mobile tweaks
2017-08-30 20:02:54 +03:00
Sercan Yemen
e0a85a19db package lock 2017-08-30 20:01:45 +03:00
mustafahlvc
b21526410a (Scrumboard) final touches.. 2017-08-30 18:46:07 +03:00
mustafahlvc
ce6797a80b (Scrumboard) Drag-drop support 2017-08-30 15:58:40 +03:00
mustafahlvc
7d5693421f Merge branch 'master' into scrumboard-app
# Conflicts:
#	package.json
2017-08-30 15:11:21 +03:00
mustafahlvc
9106fcd066 Merge branch 'master' into scrumboard-app
# Conflicts:
#	package.json
2017-08-30 15:11:07 +03:00
mustafahlvc
58bdf07da0 Style fixes especially for Edge/IE Browser 2017-08-30 15:04:20 +03:00
Sercan Yemen
6a3972fff8 Merge branch 'master' into skeleton 2017-08-30 14:43:10 +03:00
Sercan Yemen
58291058ae update version number 2017-08-30 14:42:55 +03:00
Sercan Yemen
dca16238eb Merge branch 'master' into skeleton 2017-08-30 14:41:30 +03:00
Sercan Yemen
9ae746a3ed fix: revert back to Angular 4.3.5 since the animations are not working correctly on 4.3.6 2017-08-30 14:36:54 +03:00
Sercan Yemen
a7549a1770 fix: pages not scrolling on various browsers 2017-08-30 14:26:45 +03:00
mustafahlvc
0bf158f8a5 (Scrumboard) board settings added + some refinements. 2017-08-30 14:21:14 +03:00
mustafahlvc
a0da9bd81e Merge branch 'master' into scrumboard-app
# Conflicts:
#	package.json
#	src/app/core/modules/shared.module.ts
2017-08-30 14:19:45 +03:00
Sercan Yemen
2b91119d00 Merge branch 'master' into skeleton 2017-08-30 11:50:56 +03:00
Sercan Yemen
56716653b8 added npmrc to force the package version on both install and update
+ updated package-lock.json
2017-08-30 11:48:26 +03:00
mustafahlvc
a56e9e6d10 Angular Material Update: 2.0.0-beta.10 2017-08-30 10:37:25 +03:00
mustafahlvc
49af06cdbd Merge branch 'master' of https://github.com/withinpixels/fuse2 2017-08-30 06:54:43 +03:00
mustafahlvc
cd99fbf77a (Scrumboard App) added
+ md2 added for date-time picker,
+ toggleInArray func added to FuseUtils
2017-08-30 06:54:11 +03:00
Sercan Yemen
041a54731d added print styles 2017-08-29 17:41:35 +03:00
Sercan Yemen
95640f8ffe wording 2017-08-29 17:27:27 +03:00
Sercan Yemen
215d1cb78a added cookie saving for shortcuts component
+ services and components pages for the demo
2017-08-29 17:20:13 +03:00
mustafahlvc
ffa52909e8 unnecessary env variable removed 2017-08-26 06:10:22 +03:00
mustafahlvc
3a246717a0 this.router.events.filter/map AOT error fix. 2017-08-25 17:34:58 +03:00
mustafahlvc
a650ebac97 (@angular/flex-layout) updated to v2.0.0-beta.9 2017-08-25 09:58:59 +03:00
22 changed files with 258 additions and 158 deletions

1
.npmrc Normal file
View File

@@ -0,0 +1 @@
save-prefix=''

108
package-lock.json generated
View File

@@ -1,6 +1,6 @@
{ {
"name": "fuse2", "name": "fuse2",
"version": "1.0.0", "version": "1.0.4",
"lockfileVersion": 1, "lockfileVersion": 1,
"requires": true, "requires": true,
"dependencies": { "dependencies": {
@@ -24,9 +24,9 @@
} }
}, },
"@angular/cdk": { "@angular/cdk": {
"version": "2.0.0-beta.8", "version": "2.0.0-beta.10",
"resolved": "https://registry.npmjs.org/@angular/cdk/-/cdk-2.0.0-beta.8.tgz", "resolved": "https://registry.npmjs.org/@angular/cdk/-/cdk-2.0.0-beta.10.tgz",
"integrity": "sha512-OOtK+AA14cmRG9AbUgvoKC9Tooz0N37GTaRSV+xziC8GxXHgwvTu4PFSFHlBnHPipOYC/tB2oP39j3KuurEMPA==", "integrity": "sha512-G0RvzxItfPy8JEdnyV/10GryE3zHehm3bUJ7U9dwYKhAzhye+MX0P6rs8VEmbClJb5SuZDr0ZZ53vbHhHsUh6A==",
"requires": { "requires": {
"tslib": "1.7.1" "tslib": "1.7.1"
} }
@@ -129,15 +129,6 @@
"reflect-metadata": "0.1.10" "reflect-metadata": "0.1.10"
}, },
"dependencies": { "dependencies": {
"@angular/tsc-wrapped": {
"version": "4.3.5",
"resolved": "https://registry.npmjs.org/@angular/tsc-wrapped/-/tsc-wrapped-4.3.5.tgz",
"integrity": "sha1-lf2qgTz8VyYvx+9f6nJtYorvq6w=",
"dev": true,
"requires": {
"tsickle": "0.21.6"
}
},
"minimist": { "minimist": {
"version": "1.2.0", "version": "1.2.0",
"resolved": "https://registry.npmjs.org/minimist/-/minimist-1.2.0.tgz", "resolved": "https://registry.npmjs.org/minimist/-/minimist-1.2.0.tgz",
@@ -155,9 +146,12 @@
} }
}, },
"@angular/flex-layout": { "@angular/flex-layout": {
"version": "2.0.0-beta.8", "version": "2.0.0-beta.9",
"resolved": "https://registry.npmjs.org/@angular/flex-layout/-/flex-layout-2.0.0-beta.8.tgz", "resolved": "https://registry.npmjs.org/@angular/flex-layout/-/flex-layout-2.0.0-beta.9.tgz",
"integrity": "sha1-uc9XhlqTyhWP5W2FCVJCPySNEDs=" "integrity": "sha1-PlT4mOgF0LFCbRXmE520FdBO518=",
"requires": {
"tslib": "1.7.1"
}
}, },
"@angular/forms": { "@angular/forms": {
"version": "4.3.5", "version": "4.3.5",
@@ -182,9 +176,9 @@
"dev": true "dev": true
}, },
"@angular/material": { "@angular/material": {
"version": "2.0.0-beta.8", "version": "2.0.0-beta.10",
"resolved": "https://registry.npmjs.org/@angular/material/-/material-2.0.0-beta.8.tgz", "resolved": "https://registry.npmjs.org/@angular/material/-/material-2.0.0-beta.10.tgz",
"integrity": "sha512-4+OecvjU15i+l/vXBP2qEHdlsU9taK6kBhsWKsxNLK3+TAVoV5qjc2rjOucHtTwI/oOjyBXnLJP6pl4tuLEUQw==", "integrity": "sha512-KAQ2t9wenI55oXkjjT6E4VGUSVu7AZmR+ytnaP96VBFk18wxcGnVaTbQmCvVm/vkbcdeoSF09D6ic94DHAE+1A==",
"requires": { "requires": {
"tslib": "1.7.1" "tslib": "1.7.1"
} }
@@ -213,6 +207,15 @@
"tslib": "1.7.1" "tslib": "1.7.1"
} }
}, },
"@angular/tsc-wrapped": {
"version": "4.3.5",
"resolved": "https://registry.npmjs.org/@angular/tsc-wrapped/-/tsc-wrapped-4.3.5.tgz",
"integrity": "sha1-lf2qgTz8VyYvx+9f6nJtYorvq6w=",
"dev": true,
"requires": {
"tsickle": "0.21.6"
}
},
"@ngtools/json-schema": { "@ngtools/json-schema": {
"version": "1.1.0", "version": "1.1.0",
"resolved": "https://registry.npmjs.org/@ngtools/json-schema/-/json-schema-1.1.0.tgz", "resolved": "https://registry.npmjs.org/@ngtools/json-schema/-/json-schema-1.1.0.tgz",
@@ -255,18 +258,18 @@
"dev": true "dev": true
}, },
"@types/jasminewd2": { "@types/jasminewd2": {
"version": "2.0.2", "version": "2.0.3",
"resolved": "https://registry.npmjs.org/@types/jasminewd2/-/jasminewd2-2.0.2.tgz", "resolved": "https://registry.npmjs.org/@types/jasminewd2/-/jasminewd2-2.0.3.tgz",
"integrity": "sha1-X2jh5pe/ELxv2Mvy4Aaj1nEsW2Q=", "integrity": "sha512-hYDVmQZT5VA2kigd4H4bv7vl/OhlympwREUemqBdOqtrYTo5Ytm12a5W5/nGgGYdanGVxj0x/VhZ7J3hOg/YKg==",
"dev": true, "dev": true,
"requires": { "requires": {
"@types/jasmine": "2.5.54" "@types/jasmine": "2.5.54"
} }
}, },
"@types/node": { "@types/node": {
"version": "6.0.87", "version": "6.0.88",
"resolved": "https://registry.npmjs.org/@types/node/-/node-6.0.87.tgz", "resolved": "https://registry.npmjs.org/@types/node/-/node-6.0.88.tgz",
"integrity": "sha512-Xo0pYENOBaGtJUhi50KH6gdBNQmZQQxAwBArsJpBd15ncoz+LZD5Ev14vuezcw62CsQ1q6bM++7jA6jfwaAbfQ==", "integrity": "sha512-bYDPZTX0/s1aihdjLuAgogUAT5M+TpoWChEMea2p0yOcfn5bu3k6cJb9cp6nw268XeSNIGGr+4+/8V5K6BGzLQ==",
"dev": true "dev": true
}, },
"@types/q": { "@types/q": {
@@ -1541,26 +1544,15 @@
"dev": true "dev": true
}, },
"connect": { "connect": {
"version": "3.6.2", "version": "3.6.3",
"resolved": "https://registry.npmjs.org/connect/-/connect-3.6.2.tgz", "resolved": "https://registry.npmjs.org/connect/-/connect-3.6.3.tgz",
"integrity": "sha1-aU6NIGgb/kkCgsiriGvpjwn0L+c=", "integrity": "sha512-GLSZqgjVxPvGYVD/2vz//gS201MEXk4b7t3nHV6OVnTdDNWi/Gm7Rpxs/ybvljPWvULys/wrzIV3jB3YvEc3nQ==",
"dev": true, "dev": true,
"requires": { "requires": {
"debug": "2.6.7", "debug": "2.6.8",
"finalhandler": "1.0.3", "finalhandler": "1.0.4",
"parseurl": "1.3.1", "parseurl": "1.3.1",
"utils-merge": "1.0.0" "utils-merge": "1.0.0"
},
"dependencies": {
"debug": {
"version": "2.6.7",
"resolved": "https://registry.npmjs.org/debug/-/debug-2.6.7.tgz",
"integrity": "sha1-krrR9tBbu2u6Isyoi80OyJTChh4=",
"dev": true,
"requires": {
"ms": "2.0.0"
}
}
} }
}, },
"connect-history-api-fallback": { "connect-history-api-fallback": {
@@ -3140,29 +3132,18 @@
} }
}, },
"finalhandler": { "finalhandler": {
"version": "1.0.3", "version": "1.0.4",
"resolved": "https://registry.npmjs.org/finalhandler/-/finalhandler-1.0.3.tgz", "resolved": "https://registry.npmjs.org/finalhandler/-/finalhandler-1.0.4.tgz",
"integrity": "sha1-70fneVDpmXgOhgIqVg4yF+DQzIk=", "integrity": "sha512-16l/r8RgzlXKmFOhZpHBztvye+lAhC5SU7hXavnerC9UfZqZxxXl3BzL8MhffPT3kF61lj9Oav2LKEzh0ei7tg==",
"dev": true, "dev": true,
"requires": { "requires": {
"debug": "2.6.7", "debug": "2.6.8",
"encodeurl": "1.0.1", "encodeurl": "1.0.1",
"escape-html": "1.0.3", "escape-html": "1.0.3",
"on-finished": "2.3.0", "on-finished": "2.3.0",
"parseurl": "1.3.1", "parseurl": "1.3.1",
"statuses": "1.3.1", "statuses": "1.3.1",
"unpipe": "1.0.0" "unpipe": "1.0.0"
},
"dependencies": {
"debug": {
"version": "2.6.7",
"resolved": "https://registry.npmjs.org/debug/-/debug-2.6.7.tgz",
"integrity": "sha1-krrR9tBbu2u6Isyoi80OyJTChh4=",
"dev": true,
"requires": {
"ms": "2.0.0"
}
}
} }
}, },
"find-up": { "find-up": {
@@ -5542,9 +5523,9 @@
} }
}, },
"karma": { "karma": {
"version": "1.7.0", "version": "1.7.1",
"resolved": "https://registry.npmjs.org/karma/-/karma-1.7.0.tgz", "resolved": "https://registry.npmjs.org/karma/-/karma-1.7.1.tgz",
"integrity": "sha1-b3oaQGRG+i4YfslTmGmPTO5HYmk=", "integrity": "sha512-k5pBjHDhmkdaUccnC7gE3mBzZjcxyxYsYVaqiL2G5AqlfLyBO5nw2VdNK+O16cveEPd/gIOWULH7gkiYYwVNHg==",
"dev": true, "dev": true,
"requires": { "requires": {
"bluebird": "3.5.0", "bluebird": "3.5.0",
@@ -5552,7 +5533,7 @@
"chokidar": "1.7.0", "chokidar": "1.7.0",
"colors": "1.1.2", "colors": "1.1.2",
"combine-lists": "1.0.1", "combine-lists": "1.0.1",
"connect": "3.6.2", "connect": "3.6.3",
"core-js": "2.5.0", "core-js": "2.5.0",
"di": "0.0.1", "di": "0.0.1",
"dom-serialize": "2.2.1", "dom-serialize": "2.2.1",
@@ -6192,6 +6173,11 @@
"resolved": "https://registry.npmjs.org/ngx-color-picker/-/ngx-color-picker-4.3.1.tgz", "resolved": "https://registry.npmjs.org/ngx-color-picker/-/ngx-color-picker-4.3.1.tgz",
"integrity": "sha512-/Gn3XvOgaAK/ZnXA0ej9ivYm6uIvHwvZaSzx04ZUtG1Vw5RCKzw84dK0Ru9Ylnnq1xJU4WmdA63REkJb8cvYXg==" "integrity": "sha512-/Gn3XvOgaAK/ZnXA0ej9ivYm6uIvHwvZaSzx04ZUtG1Vw5RCKzw84dK0Ru9Ylnnq1xJU4WmdA63REkJb8cvYXg=="
}, },
"ngx-cookie-service": {
"version": "1.0.7",
"resolved": "https://registry.npmjs.org/ngx-cookie-service/-/ngx-cookie-service-1.0.7.tgz",
"integrity": "sha1-NdQzt3WloqgIxUl19Pr1AKzFL2g="
},
"ngx-perfect-scrollbar": { "ngx-perfect-scrollbar": {
"version": "4.5.6", "version": "4.5.6",
"resolved": "https://registry.npmjs.org/ngx-perfect-scrollbar/-/ngx-perfect-scrollbar-4.5.6.tgz", "resolved": "https://registry.npmjs.org/ngx-perfect-scrollbar/-/ngx-perfect-scrollbar-4.5.6.tgz",
@@ -7415,7 +7401,7 @@
"integrity": "sha1-myIXQXCaTGLVzVPGqt1UpxE36V8=", "integrity": "sha1-myIXQXCaTGLVzVPGqt1UpxE36V8=",
"dev": true, "dev": true,
"requires": { "requires": {
"@types/node": "6.0.87", "@types/node": "6.0.88",
"@types/q": "0.0.32", "@types/q": "0.0.32",
"@types/selenium-webdriver": "2.53.42", "@types/selenium-webdriver": "2.53.42",
"blocking-proxy": "0.0.5", "blocking-proxy": "0.0.5",

View File

@@ -1,7 +1,7 @@
{ {
"name": "fuse2", "name": "fuse2",
"version": "1.0.1", "version": "1.0.4",
"license": "MIT", "license": "",
"scripts": { "scripts": {
"ng": "ng", "ng": "ng",
"start": "ng serve", "start": "ng serve",
@@ -13,34 +13,35 @@
"private": true, "private": true,
"dependencies": { "dependencies": {
"@angular/animations": "4.3.5", "@angular/animations": "4.3.5",
"@angular/cdk": "^2.0.0-beta.8", "@angular/cdk": "2.0.0-beta.10",
"@angular/common": "4.3.5", "@angular/common": "4.3.5",
"@angular/compiler": "4.3.5", "@angular/compiler": "4.3.5",
"@angular/core": "4.3.5", "@angular/core": "4.3.5",
"@angular/flex-layout": "2.0.0-beta.8", "@angular/flex-layout": "2.0.0-beta.9",
"@angular/forms": "4.3.5", "@angular/forms": "4.3.5",
"@angular/http": "4.3.5", "@angular/http": "4.3.5",
"@angular/material": "^2.0.0-beta.8", "@angular/material": "2.0.0-beta.10",
"@angular/platform-browser": "4.3.5", "@angular/platform-browser": "4.3.5",
"@angular/platform-browser-dynamic": "4.3.5", "@angular/platform-browser-dynamic": "4.3.5",
"@angular/router": "4.3.5", "@angular/router": "4.3.5",
"@swimlane/ngx-charts": "^6.0.2", "@swimlane/ngx-charts": "6.0.2",
"@swimlane/ngx-datatable": "^9.3.1", "@swimlane/ngx-datatable": "9.3.1",
"@swimlane/ngx-dnd": "^3.0.0", "@swimlane/ngx-dnd": "3.0.0",
"angular-calendar": "^0.19.0", "angular-calendar": "0.19.0",
"angular-in-memory-web-api": "^0.3.2", "angular-in-memory-web-api": "0.3.2",
"classlist.js": "^1.1.20150312", "classlist.js": "1.1.20150312",
"core-js": "^2.5.0", "core-js": "2.5.0",
"d3": "^4.10.0", "d3": "4.10.0",
"hammerjs": "^2.0.8", "hammerjs": "2.0.8",
"highlight.js": "^9.12.0", "highlight.js": "9.12.0",
"intl": "^1.2.5", "intl": "1.2.5",
"moment": "^2.18.1", "moment": "2.18.1",
"ngx-color-picker": "^4.3.1", "ngx-color-picker": "4.3.1",
"ngx-perfect-scrollbar": "^4.5.6", "ngx-cookie-service": "1.0.7",
"rxjs": "^5.4.3", "ngx-perfect-scrollbar": "4.5.6",
"web-animations-js": "^2.3.1", "rxjs": "5.4.3",
"zone.js": "^0.8.17" "web-animations-js": "2.3.1",
"zone.js": "0.8.17"
}, },
"devDependencies": { "devDependencies": {
"@angular/cli": "^1.3.2", "@angular/cli": "^1.3.2",
@@ -49,11 +50,11 @@
"@ngtools/webpack": "^1.6.2", "@ngtools/webpack": "^1.6.2",
"@types/jasmine": "^2.5.54", "@types/jasmine": "^2.5.54",
"@types/jasminewd2": "^2.0.2", "@types/jasminewd2": "^2.0.2",
"@types/node": "^6.0.87", "@types/node": "^6.0.88",
"codelyzer": "~3.0.1", "codelyzer": "~3.0.1",
"jasmine-core": "~2.6.2", "jasmine-core": "~2.6.2",
"jasmine-spec-reporter": "~4.1.0", "jasmine-spec-reporter": "~4.1.0",
"karma": "~1.7.0", "karma": "1.7.1",
"karma-chrome-launcher": "~2.1.1", "karma-chrome-launcher": "~2.1.1",
"karma-cli": "~1.0.1", "karma-cli": "~1.0.1",
"karma-coverage-istanbul-reporter": "^1.2.1", "karma-coverage-istanbul-reporter": "^1.2.1",

View File

@@ -9,6 +9,7 @@
flex-direction: row; flex-direction: row;
align-items: center; align-items: center;
justify-content: center; justify-content: center;
text-align: center;
.time { .time {
display: flex; display: flex;

View File

@@ -1,4 +1,5 @@
<button md-icon-button <button md-icon-button
type="button"
class="mat-elevation-z1" class="mat-elevation-z1"
[mdMenuTriggerFor]="colorMenu" [mdMenuTriggerFor]="colorMenu"
(onMenuOpen)="onMenuOpen()" (onMenuOpen)="onMenuOpen()"

View File

@@ -3,11 +3,14 @@
:host { :host {
.fuse-search-bar { .fuse-search-bar {
min-width: 64px;
height: 64px; height: 64px;
font-size: 13px; font-size: 13px;
@include media-breakpoint-down('xs') { @include media-breakpoint-down('xs') {
height: 56px; height: 56px;
} }
.fuse-search-bar-expander, .fuse-search-bar-expander,
.fuse-search-bar-collapser { .fuse-search-bar-collapser {
cursor: pointer; cursor: pointer;
@@ -16,6 +19,7 @@
width: 64px !important; width: 64px !important;
height: 64px !important; height: 64px !important;
line-height: 64px !important; line-height: 64px !important;
@include media-breakpoint-down('xs') { @include media-breakpoint-down('xs') {
height: 56px !important; height: 56px !important;
line-height: 56px !important; line-height: 56px !important;

View File

@@ -9,7 +9,7 @@
<div class="shortcuts" fxHide fxShow.gt-sm [ngClass]="toolbarColor"> <div class="shortcuts" fxHide fxShow.gt-sm [ngClass]="toolbarColor">
<div fxLayout="row" fxLayoutAlign="space-between center" fxFlex> <div fxLayout="row" fxLayoutAlign="space-between center" fxFlex="0 1 auto">
<div fxLayout="row" fxLayoutAlign="start center"> <div fxLayout="row" fxLayoutAlign="start center">

View File

@@ -4,6 +4,7 @@ import { Subscription } from 'rxjs/Subscription';
import { ObservableMedia } from '@angular/flex-layout'; import { ObservableMedia } from '@angular/flex-layout';
import { FuseMatchMedia } from '../../services/match-media.service'; import { FuseMatchMedia } from '../../services/match-media.service';
import { FuseConfigService } from '../../services/config.service'; import { FuseConfigService } from '../../services/config.service';
import { CookieService } from 'ngx-cookie-service';
@Component({ @Component({
selector : 'fuse-shortcuts', selector : 'fuse-shortcuts',
@@ -29,7 +30,8 @@ export class FuseShortcutsComponent implements OnInit, OnDestroy
private observableMedia: ObservableMedia, private observableMedia: ObservableMedia,
private fuseMatchMedia: FuseMatchMedia, private fuseMatchMedia: FuseMatchMedia,
private fuseNavigationService: FuseNavigationService, private fuseNavigationService: FuseNavigationService,
private fuseConfig: FuseConfigService private fuseConfig: FuseConfigService,
private cookieService: CookieService
) )
{ {
this.filteredNavigationItems = this.navigationItems = this.fuseNavigationService.getFlatNavigation(); this.filteredNavigationItems = this.navigationItems = this.fuseNavigationService.getFlatNavigation();
@@ -44,6 +46,14 @@ export class FuseShortcutsComponent implements OnInit, OnDestroy
} }
ngOnInit() ngOnInit()
{
const cookieExists = this.cookieService.check('FUSE2.shortcuts');
if ( cookieExists )
{
this.shortcutItems = JSON.parse(this.cookieService.get('FUSE2.shortcuts'));
}
else
{ {
// User's shortcut items // User's shortcut items
this.shortcutItems = [ this.shortcutItems = [
@@ -72,6 +82,7 @@ export class FuseShortcutsComponent implements OnInit, OnDestroy
'url' : '/apps/todo' 'url' : '/apps/todo'
} }
]; ];
}
this.matchMediaSubscription = this.matchMediaSubscription =
this.fuseMatchMedia.onMediaChange.subscribe(() => { this.fuseMatchMedia.onMediaChange.subscribe(() => {
@@ -115,12 +126,18 @@ export class FuseShortcutsComponent implements OnInit, OnDestroy
if ( this.shortcutItems[i].url === itemToToggle.url ) if ( this.shortcutItems[i].url === itemToToggle.url )
{ {
this.shortcutItems.splice(i, 1); this.shortcutItems.splice(i, 1);
// Save to the cookies
this.cookieService.set('FUSE2.shortcuts', JSON.stringify(this.shortcutItems));
return; return;
} }
} }
this.shortcutItems.push(itemToToggle); this.shortcutItems.push(itemToToggle);
// Save to the cookies
this.cookieService.set('FUSE2.shortcuts', JSON.stringify(this.shortcutItems));
} }
isInShortcuts(navigationItem) isInShortcuts(navigationItem)

View File

@@ -33,29 +33,37 @@ export class FuseMdSidenavHelperDirective implements OnInit, AfterViewInit, OnDe
if ( this.observableMedia.isActive(this.mdIsLockedOpenBreakpoint) ) if ( this.observableMedia.isActive(this.mdIsLockedOpenBreakpoint) )
{ {
setTimeout(() => {
this.isLockedOpen = true; this.isLockedOpen = true;
this.mdSidenav.mode = 'side'; this.mdSidenav.mode = 'side';
this.mdSidenav.open(); this.mdSidenav.open();
});
} }
else else
{ {
setTimeout(() => {
this.isLockedOpen = false; this.isLockedOpen = false;
this.mdSidenav.mode = 'over'; this.mdSidenav.mode = 'over';
this.mdSidenav.close(); this.mdSidenav.close();
});
} }
this.matchMediaSubscription = this.fuseMatchMedia.onMediaChange.subscribe(() => { this.matchMediaSubscription = this.fuseMatchMedia.onMediaChange.subscribe(() => {
if ( this.observableMedia.isActive(this.mdIsLockedOpenBreakpoint) ) if ( this.observableMedia.isActive(this.mdIsLockedOpenBreakpoint) )
{ {
setTimeout(() => {
this.isLockedOpen = true; this.isLockedOpen = true;
this.mdSidenav.mode = 'side'; this.mdSidenav.mode = 'side';
this.mdSidenav.open(); this.mdSidenav.open();
});
} }
else else
{ {
setTimeout(() => {
this.isLockedOpen = false; this.isLockedOpen = false;
this.mdSidenav.mode = 'over'; this.mdSidenav.mode = 'over';
this.mdSidenav.close(); this.mdSidenav.close();
});
} }
}); });

View File

@@ -90,4 +90,16 @@ export class FuseUtils
return (S4() + S4()); return (S4() + S4());
} }
public static toggleInArray(item, array)
{
if ( array.indexOf(item) === -1 )
{
array.push(item);
}
else
{
array.splice(array.indexOf(item), 1);
}
}
} }

View File

@@ -32,7 +32,7 @@ import {
MdTableModule, MdTableModule,
MdTabsModule MdTabsModule
} from '@angular/material'; } from '@angular/material';
import { CdkTableModule } from '@angular/cdk'; import { CdkTableModule } from '@angular/cdk/table';
@NgModule({ @NgModule({
imports: [ imports: [

View File

@@ -20,6 +20,8 @@ import { FuseMdSidenavHelperService } from '../directives/md-sidenav-helper/md-s
import { FuseHljsComponent } from '../components/hljs/hljs.component'; import { FuseHljsComponent } from '../components/hljs/hljs.component';
import { FuseIfOnDomDirective } from '../directives/fuse-if-on-dom/fuse-if-on-dom.directive'; import { FuseIfOnDomDirective } from '../directives/fuse-if-on-dom/fuse-if-on-dom.directive';
import { FuseMaterialColorPickerComponent } from '../components/material-color-picker/material-color-picker.component'; import { FuseMaterialColorPickerComponent } from '../components/material-color-picker/material-color-picker.component';
import { Md2Module } from 'md2';
import { CookieService } from 'ngx-cookie-service';
@NgModule({ @NgModule({
declarations : [ declarations : [
@@ -41,7 +43,8 @@ import { FuseMaterialColorPickerComponent } from '../components/material-color-p
ReactiveFormsModule, ReactiveFormsModule,
ColorPickerModule, ColorPickerModule,
NgxDnDModule, NgxDnDModule,
NgxDatatableModule NgxDatatableModule,
Md2Module
], ],
exports : [ exports : [
FlexLayoutModule, FlexLayoutModule,
@@ -59,12 +62,14 @@ import { FuseMaterialColorPickerComponent } from '../components/material-color-p
NgxDnDModule, NgxDnDModule,
NgxDatatableModule, NgxDatatableModule,
FuseIfOnDomDirective, FuseIfOnDomDirective,
FuseMaterialColorPickerComponent FuseMaterialColorPickerComponent,
Md2Module
], ],
entryComponents: [ entryComponents: [
FuseConfirmDialogComponent FuseConfirmDialogComponent
], ],
providers : [ providers : [
CookieService,
FuseNavigationService, FuseNavigationService,
FuseMatchMedia, FuseMatchMedia,
FuseNavbarService, FuseNavbarService,

View File

@@ -1,6 +1,9 @@
import { Pipe, PipeTransform } from '@angular/core'; import { Pipe, PipeTransform } from '@angular/core';
@Pipe({name: 'getById'}) @Pipe({
name: 'getById',
pure: false
})
export class GetByIdPipe implements PipeTransform export class GetByIdPipe implements PipeTransform
{ {
transform(value: any[], id: number, property: string): any transform(value: any[], id: number, property: string): any

View File

@@ -28,6 +28,7 @@
@import "partials/navigation"; @import "partials/navigation";
@import "partials/forms"; @import "partials/forms";
@import "partials/toolbar"; @import "partials/toolbar";
@import "partials/print";
// Plugins // Plugins
@import "partials/plugins/plugins"; @import "partials/plugins/plugins";

View File

@@ -54,7 +54,8 @@ $matColorHues: 50, 100, 200, 300, 400, 500, 600, 700, 800, 900, A100, A200, A400
&.secondary-text, &.secondary-text,
.secondary-text, .secondary-text,
.mat-icon, .mat-icon,
.icon { .icon,
.md2-datepicker-button {
color: rgba(0, 0, 0, 0.54); color: rgba(0, 0, 0, 0.54);
} }
@@ -79,7 +80,8 @@ $matColorHues: 50, 100, 200, 300, 400, 500, 600, 700, 800, 900, A100, A200, A400
@else { @else {
.mat-icon, .mat-icon,
.icon { .icon,
.md2-datepicker-button {
color: rgba(255, 255, 255, 1); color: rgba(255, 255, 255, 1);
} }

View File

@@ -144,7 +144,8 @@ $top-bg-image: url('assets/images/backgrounds/header-bg.png');
&.md-stop-transition { &.md-stop-transition {
~ .mat-sidenav-content { ~ .mat-sidenav-content,
~ .mat-drawer-content {
transition: none; transition: none;
} }
} }
@@ -161,7 +162,8 @@ $top-bg-image: url('assets/images/backgrounds/header-bg.png');
} }
} }
> .mat-sidenav-content { > .mat-sidenav-content,
> .mat-drawer-content {
display: flex; display: flex;
flex: 1; flex: 1;
height: auto; height: auto;
@@ -229,7 +231,8 @@ $top-bg-image: url('assets/images/backgrounds/header-bg.png');
&.md-is-locked-open { &.md-is-locked-open {
~ .mat-sidenav-content { ~ .mat-sidenav-content,
~ .mat-drawer-content {
margin-left: 0 !important; margin-left: 0 !important;
.center { .center {
@@ -252,7 +255,8 @@ $top-bg-image: url('assets/images/backgrounds/header-bg.png');
&.md-is-locked-open { &.md-is-locked-open {
~ .mat-sidenav-content { ~ .mat-sidenav-content,
~ .mat-drawer-content {
margin-right: 0 !important; margin-right: 0 !important;
.center { .center {
@@ -301,7 +305,8 @@ $top-bg-image: url('assets/images/backgrounds/header-bg.png');
> md-sidenav-container { > md-sidenav-container {
flex: 1 0 auto; flex: 1 0 auto;
> .mat-sidenav-content { > .mat-sidenav-content,
> .mat-drawer-content {
flex: 1 0 auto; flex: 1 0 auto;
max-height: none; max-height: none;
@@ -325,7 +330,8 @@ $top-bg-image: url('assets/images/backgrounds/header-bg.png');
} }
} }
> .mat-sidenav-content { > .mat-sidenav-content,
> .mat-drawer-content {
display: flex; display: flex;
height: auto; height: auto;
@@ -368,7 +374,8 @@ $top-bg-image: url('assets/images/backgrounds/header-bg.png');
&.md-stop-transition { &.md-stop-transition {
~ .mat-sidenav-content { ~ .mat-sidenav-content,
~ .mat-drawer-content {
transition: none; transition: none;
} }
} }
@@ -378,7 +385,8 @@ $top-bg-image: url('assets/images/backgrounds/header-bg.png');
} }
} }
> .mat-sidenav-content { > .mat-sidenav-content,
> .mat-drawer-content {
display: flex; display: flex;
flex: 1; flex: 1;
height: auto; height: auto;
@@ -472,7 +480,8 @@ $top-bg-image: url('assets/images/backgrounds/header-bg.png');
> md-sidenav-container { > md-sidenav-container {
flex: 1 0 auto !important; flex: 1 0 auto !important;
> .mat-sidenav-content { > .mat-sidenav-content,
> .mat-drawer-content {
flex: 1 0 auto; flex: 1 0 auto;
> .center { > .center {
@@ -499,7 +508,8 @@ $top-bg-image: url('assets/images/backgrounds/header-bg.png');
> md-sidenav-container { > md-sidenav-container {
> .mat-sidenav-content { > .mat-sidenav-content,
> .mat-drawer-content {
.center { .center {
margin: 0 16px; margin: 0 16px;

View File

@@ -0,0 +1,51 @@
/*----------------------------------------------------------------*/
/* Print
/*----------------------------------------------------------------*/
@media all {
/* Never show page break in normal view */
.page-break {
display: none;
}
}
@media print {
/* Page Styles */
@page {
//margin: 0.5cm;
}
/* Page break */
.page-break {
display: block;
break-after: always;
page-break-after: always;
}
/* General styles */
fuse-root {
fuse-navbar,
fuse-toolbar,
fuse-footer,
fuse-quick-panel,
fuse-theme-options,
.ps > .ps__scrollbar-x-rail,
.ps > .ps__scrollbar-y-rail {
display: none !important;
}
.ps {
overflow: visible !important;
}
}
/* Printable page specific styles */
.printable {
overflow: visible !important;
height: auto !important;
}
}

View File

@@ -1,7 +1,7 @@
import { Injectable } from '@angular/core'; import { Injectable } from '@angular/core';
import { BehaviorSubject } from 'rxjs/BehaviorSubject'; import { BehaviorSubject } from 'rxjs/BehaviorSubject';
import { NavigationStart, Router } from '@angular/router'; import { NavigationStart, Router } from '@angular/router';
import { Platform } from '@angular/cdk'; import { Platform } from '@angular/cdk/platform';
@Injectable() @Injectable()
export class FuseConfigService export class FuseConfigService
@@ -12,6 +12,7 @@ export class FuseConfigService
/** /**
* @param router * @param router
* @param platform
*/ */
constructor( constructor(
private router: Router, private router: Router,

View File

@@ -3,6 +3,8 @@ import { ActivatedRoute, NavigationEnd, Router } from '@angular/router';
import { Animations } from '../../core/animations'; import { Animations } from '../../core/animations';
import { FuseConfigService } from '../../core/services/config.service'; import { FuseConfigService } from '../../core/services/config.service';
import { Subscription } from 'rxjs/Subscription'; import { Subscription } from 'rxjs/Subscription';
import 'rxjs/add/operator/filter';
import 'rxjs/add/operator/map';
@Component({ @Component({
selector : 'fuse-content', selector : 'fuse-content',

View File

@@ -23,7 +23,8 @@ fuse-main {
display: flex; display: flex;
flex: 1; flex: 1;
> .mat-sidenav-content { > .mat-sidenav-content,
> .mat-drawer-content {
display: flex; display: flex;
flex: 1; flex: 1;
overflow: hidden; overflow: hidden;
@@ -57,6 +58,7 @@ fuse-main {
flex: 1; flex: 1;
flex-direction: row; flex-direction: row;
width: 100%; width: 100%;
overflow: hidden;
> *:not(router-outlet):not(.ps__scrollbar-x-rail):not(.ps__scrollbar-y-rail) { > *:not(router-outlet):not(.ps__scrollbar-x-rail):not(.ps__scrollbar-y-rail) {
display: flex; display: flex;

View File

@@ -2,7 +2,7 @@
<div fxFlex fxFill fxLayout="row" fxLayoutAlign="start center"> <div fxFlex fxFill fxLayout="row" fxLayoutAlign="start center">
<div fxFlex fxLayout="row" fxLayoutAlign="start center"> <div fxFlex="1 0 auto" fxLayout="row" fxLayoutAlign="start center">
<button md-button class="toggle-button-navbar mat-icon-button" fuseNavbar="openBar" fxHide.gt-md> <button md-button class="toggle-button-navbar mat-icon-button" fuseNavbar="openBar" fxHide.gt-md>
<md-icon>menu</md-icon> <md-icon>menu</md-icon>
@@ -18,7 +18,7 @@
<a href="http://themeforest.net/item/fuse-angularjs-material-design-admin-template/12931855?ref=srcn" <a href="http://themeforest.net/item/fuse-angularjs-material-design-admin-template/12931855?ref=srcn"
target="_blank" md-raised-button class="ml-8 ml-sm-24 md-pink-bg" fxFlex="0 0 auto" fxLayout="row" target="_blank" md-raised-button class="ml-8 ml-sm-24 md-pink-bg" fxFlex="0 0 auto" fxLayout="row"
fxLayoutAlign="start center"> fxLayoutAlign="start center" fxHide fxShow.gt-xs>
<md-icon class="s-16 mr-sm-4">shopping_cart</md-icon> <md-icon class="s-16 mr-sm-4">shopping_cart</md-icon>
<span fxHide fxShow.gt-xs>Purchase Fuse template (Angular4+)</span> <span fxHide fxShow.gt-xs>Purchase Fuse template (Angular4+)</span>
</a> </a>
@@ -62,7 +62,7 @@
<div class="toolbar-separator"></div> <div class="toolbar-separator"></div>
<button md-button <button md-button fxHide fxShow.gt-xs
class="language-button" class="language-button"
[mdMenuTriggerFor]="languageMenu"> [mdMenuTriggerFor]="languageMenu">
<div fxLayout="row" fxLayoutAlign="center center"> <div fxLayout="row" fxLayoutAlign="center center">

View File

@@ -4,13 +4,5 @@
// The list of which env maps to which file can be found in `.angular-cli.json`. // The list of which env maps to which file can be found in `.angular-cli.json`.
export const environment = { export const environment = {
production: false, production: false
firebase : {
apiKey : 'AIzaSyDYFfhaC5QaKPgPhh8YqohjhfUpcYlg33c',
// authDomain : '<your-project-authdomain>',
databaseURL: 'https://fuse2-demo.firebaseio.com/',
projectId : 'fuse2-demo'
// storageBucket : '<your-storage-bucket>',
// messagingSenderId: '<your-messaging-sender-id>'
}
}; };