diff --git a/package-lock.json b/package-lock.json index 9cbe3f59..bb15a204 100644 --- a/package-lock.json +++ b/package-lock.json @@ -1,6 +1,6 @@ { "name": "fuse2", - "version": "1.0.1", + "version": "1.0.2", "lockfileVersion": 1, "requires": true, "dependencies": { @@ -16,17 +16,17 @@ } }, "@angular/animations": { - "version": "4.3.5", - "resolved": "https://registry.npmjs.org/@angular/animations/-/animations-4.3.5.tgz", - "integrity": "sha1-hapFTIh8x8zhFjfqX26a+tiEkOE=", + "version": "4.3.6", + "resolved": "https://registry.npmjs.org/@angular/animations/-/animations-4.3.6.tgz", + "integrity": "sha1-v5KD7HyMmLMvVp2E3NoQiQ/cAmI=", "requires": { "tslib": "1.7.1" } }, "@angular/cdk": { - "version": "2.0.0-beta.8", - "resolved": "https://registry.npmjs.org/@angular/cdk/-/cdk-2.0.0-beta.8.tgz", - "integrity": "sha512-OOtK+AA14cmRG9AbUgvoKC9Tooz0N37GTaRSV+xziC8GxXHgwvTu4PFSFHlBnHPipOYC/tB2oP39j3KuurEMPA==", + "version": "2.0.0-beta.10", + "resolved": "https://registry.npmjs.org/@angular/cdk/-/cdk-2.0.0-beta.10.tgz", + "integrity": "sha512-G0RvzxItfPy8JEdnyV/10GryE3zHehm3bUJ7U9dwYKhAzhye+MX0P6rs8VEmbClJb5SuZDr0ZZ53vbHhHsUh6A==", "requires": { "tslib": "1.7.1" } @@ -103,41 +103,32 @@ } }, "@angular/common": { - "version": "4.3.5", - "resolved": "https://registry.npmjs.org/@angular/common/-/common-4.3.5.tgz", - "integrity": "sha1-X2sRNH6uHfw0YjzP1MBsj0xIji0=", + "version": "4.3.6", + "resolved": "https://registry.npmjs.org/@angular/common/-/common-4.3.6.tgz", + "integrity": "sha1-7TfpMHx1Bt2DR5fBps9nXlK1tu4=", "requires": { "tslib": "1.7.1" } }, "@angular/compiler": { - "version": "4.3.5", - "resolved": "https://registry.npmjs.org/@angular/compiler/-/compiler-4.3.5.tgz", - "integrity": "sha1-UNPJhmV77/H+9Pbdmj+ljiSr1Ug=", + "version": "4.3.6", + "resolved": "https://registry.npmjs.org/@angular/compiler/-/compiler-4.3.6.tgz", + "integrity": "sha1-vhcN8Ji3HoNczt8WjV+3sj5QRbg=", "requires": { "tslib": "1.7.1" } }, "@angular/compiler-cli": { - "version": "4.3.5", - "resolved": "https://registry.npmjs.org/@angular/compiler-cli/-/compiler-cli-4.3.5.tgz", - "integrity": "sha1-JOmbNsCQk2P/gke/MxqLiert/mM=", + "version": "4.3.6", + "resolved": "https://registry.npmjs.org/@angular/compiler-cli/-/compiler-cli-4.3.6.tgz", + "integrity": "sha1-avpq72jdaB5hs5i+TWJw5choCxI=", "dev": true, "requires": { - "@angular/tsc-wrapped": "4.3.5", + "@angular/tsc-wrapped": "4.3.6", "minimist": "1.2.0", "reflect-metadata": "0.1.10" }, "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": { "version": "1.2.0", "resolved": "https://registry.npmjs.org/minimist/-/minimist-1.2.0.tgz", @@ -147,9 +138,9 @@ } }, "@angular/core": { - "version": "4.3.5", - "resolved": "https://registry.npmjs.org/@angular/core/-/core-4.3.5.tgz", - "integrity": "sha1-vR79vx68+5wnojjiqkxIFZsIlbs=", + "version": "4.3.6", + "resolved": "https://registry.npmjs.org/@angular/core/-/core-4.3.6.tgz", + "integrity": "sha1-u6xj1o0Pe8s4nRKzQghlK+MofpY=", "requires": { "tslib": "1.7.1" } @@ -163,59 +154,68 @@ } }, "@angular/forms": { - "version": "4.3.5", - "resolved": "https://registry.npmjs.org/@angular/forms/-/forms-4.3.5.tgz", - "integrity": "sha1-UZqtCtgqG4cBmTf6k/wUdzRzd4c=", + "version": "4.3.6", + "resolved": "https://registry.npmjs.org/@angular/forms/-/forms-4.3.6.tgz", + "integrity": "sha1-DyDEWXwWoVJ0XXzZVVmFWgpcZoc=", "requires": { "tslib": "1.7.1" } }, "@angular/http": { - "version": "4.3.5", - "resolved": "https://registry.npmjs.org/@angular/http/-/http-4.3.5.tgz", - "integrity": "sha1-gdSwdhyO8DXLC3NjAMI382KG8fA=", + "version": "4.3.6", + "resolved": "https://registry.npmjs.org/@angular/http/-/http-4.3.6.tgz", + "integrity": "sha1-Vjgn0afV6J47fYa3f7vTZ7LAhZE=", "requires": { "tslib": "1.7.1" } }, "@angular/language-service": { - "version": "4.3.5", - "resolved": "https://registry.npmjs.org/@angular/language-service/-/language-service-4.3.5.tgz", - "integrity": "sha1-ttiC6kDRjVE/w6A1p5h1Ap/jjwE=", + "version": "4.3.6", + "resolved": "https://registry.npmjs.org/@angular/language-service/-/language-service-4.3.6.tgz", + "integrity": "sha1-cc8tu0ZhVo89EqnA5LngQ++TvTo=", "dev": true }, "@angular/material": { - "version": "2.0.0-beta.8", - "resolved": "https://registry.npmjs.org/@angular/material/-/material-2.0.0-beta.8.tgz", - "integrity": "sha512-4+OecvjU15i+l/vXBP2qEHdlsU9taK6kBhsWKsxNLK3+TAVoV5qjc2rjOucHtTwI/oOjyBXnLJP6pl4tuLEUQw==", + "version": "2.0.0-beta.10", + "resolved": "https://registry.npmjs.org/@angular/material/-/material-2.0.0-beta.10.tgz", + "integrity": "sha512-KAQ2t9wenI55oXkjjT6E4VGUSVu7AZmR+ytnaP96VBFk18wxcGnVaTbQmCvVm/vkbcdeoSF09D6ic94DHAE+1A==", "requires": { "tslib": "1.7.1" } }, "@angular/platform-browser": { - "version": "4.3.5", - "resolved": "https://registry.npmjs.org/@angular/platform-browser/-/platform-browser-4.3.5.tgz", - "integrity": "sha1-wNA0CUmcwp+BZ3qrYjyQhnYNhO8=", + "version": "4.3.6", + "resolved": "https://registry.npmjs.org/@angular/platform-browser/-/platform-browser-4.3.6.tgz", + "integrity": "sha1-YVKx87eNAkb8XhUOL3ue1DN+O6Y=", "requires": { "tslib": "1.7.1" } }, "@angular/platform-browser-dynamic": { - "version": "4.3.5", - "resolved": "https://registry.npmjs.org/@angular/platform-browser-dynamic/-/platform-browser-dynamic-4.3.5.tgz", - "integrity": "sha1-Sml7OwrsgFsziE/UqbNHMGW6seA=", + "version": "4.3.6", + "resolved": "https://registry.npmjs.org/@angular/platform-browser-dynamic/-/platform-browser-dynamic-4.3.6.tgz", + "integrity": "sha1-nqv4JvEZyY+Fwqlu3LGKsAtO+xw=", "requires": { "tslib": "1.7.1" } }, "@angular/router": { - "version": "4.3.5", - "resolved": "https://registry.npmjs.org/@angular/router/-/router-4.3.5.tgz", - "integrity": "sha1-GICCdHvJtpdPnUs/VVe0NGRdI80=", + "version": "4.3.6", + "resolved": "https://registry.npmjs.org/@angular/router/-/router-4.3.6.tgz", + "integrity": "sha1-ZAM+20/NoIoyPnUztKGCDA8o0TA=", "requires": { "tslib": "1.7.1" } }, + "@angular/tsc-wrapped": { + "version": "4.3.6", + "resolved": "https://registry.npmjs.org/@angular/tsc-wrapped/-/tsc-wrapped-4.3.6.tgz", + "integrity": "sha1-GqZuCrLEeZpK0UtnXhOVOqX81DY=", + "dev": true, + "requires": { + "tsickle": "0.21.6" + } + }, "@ngtools/json-schema": { "version": "1.1.0", "resolved": "https://registry.npmjs.org/@ngtools/json-schema/-/json-schema-1.1.0.tgz", @@ -258,9 +258,9 @@ "dev": true }, "@types/jasminewd2": { - "version": "2.0.2", - "resolved": "https://registry.npmjs.org/@types/jasminewd2/-/jasminewd2-2.0.2.tgz", - "integrity": "sha1-X2jh5pe/ELxv2Mvy4Aaj1nEsW2Q=", + "version": "2.0.3", + "resolved": "https://registry.npmjs.org/@types/jasminewd2/-/jasminewd2-2.0.3.tgz", + "integrity": "sha512-hYDVmQZT5VA2kigd4H4bv7vl/OhlympwREUemqBdOqtrYTo5Ytm12a5W5/nGgGYdanGVxj0x/VhZ7J3hOg/YKg==", "dev": true, "requires": { "@types/jasmine": "2.5.54" @@ -6202,6 +6202,11 @@ "resolved": "https://registry.npmjs.org/ngx-color-picker/-/ngx-color-picker-4.3.1.tgz", "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": { "version": "4.5.6", "resolved": "https://registry.npmjs.org/ngx-perfect-scrollbar/-/ngx-perfect-scrollbar-4.5.6.tgz", diff --git a/package.json b/package.json index acf4eda4..ebfe1c25 100644 --- a/package.json +++ b/package.json @@ -1,7 +1,7 @@ { "name": "fuse2", - "version": "1.0.1", - "license": "MIT", + "version": "1.0.2", + "license": "", "scripts": { "ng": "ng", "start": "ng serve", @@ -12,41 +12,41 @@ }, "private": true, "dependencies": { - "@angular/animations": "4.3.5", - "@angular/cdk": "^2.0.0-beta.8", - "@angular/common": "4.3.5", - "@angular/compiler": "4.3.5", - "@angular/core": "4.3.5", + "@angular/animations": "4.3.6", + "@angular/cdk": "2.0.0-beta.10", + "@angular/common": "4.3.6", + "@angular/compiler": "4.3.6", + "@angular/core": "4.3.6", "@angular/flex-layout": "2.0.0-beta.9", - "@angular/forms": "4.3.5", - "@angular/http": "4.3.5", - "@angular/material": "^2.0.0-beta.8", - "@angular/platform-browser": "4.3.5", - "@angular/platform-browser-dynamic": "4.3.5", - "@angular/router": "4.3.5", - "@swimlane/ngx-charts": "^6.0.2", - "@swimlane/ngx-datatable": "^9.3.1", - "@swimlane/ngx-dnd": "^3.0.0", - "angular-calendar": "^0.19.0", - "angular-in-memory-web-api": "^0.3.2", - "classlist.js": "^1.1.20150312", - "core-js": "^2.5.0", - "d3": "^4.10.0", - "hammerjs": "^2.0.8", - "highlight.js": "^9.12.0", - "intl": "^1.2.5", - "md2": "0.0.28", - "moment": "^2.18.1", - "ngx-color-picker": "^4.3.1", - "ngx-perfect-scrollbar": "^4.5.6", - "rxjs": "^5.4.3", - "web-animations-js": "^2.3.1", - "zone.js": "^0.8.17" + "@angular/forms": "4.3.6", + "@angular/http": "4.3.6", + "@angular/material": "2.0.0-beta.10", + "@angular/platform-browser": "4.3.6", + "@angular/platform-browser-dynamic": "4.3.6", + "@angular/router": "4.3.6", + "@swimlane/ngx-charts": "6.0.2", + "@swimlane/ngx-datatable": "9.3.1", + "@swimlane/ngx-dnd": "3.0.0", + "angular-calendar": "0.19.0", + "angular-in-memory-web-api": "0.3.2", + "classlist.js": "1.1.20150312", + "core-js": "2.5.0", + "d3": "4.10.0", + "hammerjs": "2.0.8", + "highlight.js": "9.12.0", + "intl": "1.2.5", + "moment": "2.18.1", + "ngx-color-picker": "4.3.1", + "ngx-cookie-service": "1.0.7", + "ngx-perfect-scrollbar": "4.5.6", + "rxjs": "5.4.3", + "web-animations-js": "2.3.1", + "zone.js": "0.8.17" }, "devDependencies": { "@angular/cli": "^1.3.2", - "@angular/compiler-cli": "4.3.5", - "@angular/language-service": "4.3.5", + "@angular/compiler-cli": "4.3.6", + "@angular/language-service": "4.3.6", "@ngtools/webpack": "^1.6.2", "@types/jasmine": "^2.5.54", "@types/jasminewd2": "^2.0.2", diff --git a/src/app/app.module.ts b/src/app/app.module.ts index e95f851b..45056275 100644 --- a/src/app/app.module.ts +++ b/src/app/app.module.ts @@ -17,6 +17,8 @@ import { UIModule } from './main/content/ui/ui.module'; import { ComponentsModule } from './main/content/components/components.module'; import { FuseSplashScreenService } from './core/services/splash-screen.service'; import { FuseConfigService } from './core/services/config.service'; +import { ComponentsThirdPartyModule } from './main/content/components-third-party/components-third-party.module'; +import { ServicesModule } from './main/content/services/services.module'; const appRoutes: Routes = [ { @@ -75,7 +77,9 @@ const appRoutes: Routes = [ PagesModule, UIModule, - ComponentsModule + ServicesModule, + ComponentsModule, + ComponentsThirdPartyModule ], providers : [ FuseSplashScreenService, diff --git a/src/app/core/components/countdown/countdown.component.scss b/src/app/core/components/countdown/countdown.component.scss index b09ceb86..96c1e072 100644 --- a/src/app/core/components/countdown/countdown.component.scss +++ b/src/app/core/components/countdown/countdown.component.scss @@ -9,6 +9,7 @@ flex-direction: row; align-items: center; justify-content: center; + text-align: center; .time { display: flex; diff --git a/src/app/core/components/shortcuts/shortcuts.component.ts b/src/app/core/components/shortcuts/shortcuts.component.ts index e44c49ff..fd6f9652 100644 --- a/src/app/core/components/shortcuts/shortcuts.component.ts +++ b/src/app/core/components/shortcuts/shortcuts.component.ts @@ -4,6 +4,7 @@ import { Subscription } from 'rxjs/Subscription'; import { ObservableMedia } from '@angular/flex-layout'; import { FuseMatchMedia } from '../../services/match-media.service'; import { FuseConfigService } from '../../services/config.service'; +import { CookieService } from 'ngx-cookie-service'; @Component({ selector : 'fuse-shortcuts', @@ -29,7 +30,8 @@ export class FuseShortcutsComponent implements OnInit, OnDestroy private observableMedia: ObservableMedia, private fuseMatchMedia: FuseMatchMedia, private fuseNavigationService: FuseNavigationService, - private fuseConfig: FuseConfigService + private fuseConfig: FuseConfigService, + private cookieService: CookieService ) { this.filteredNavigationItems = this.navigationItems = this.fuseNavigationService.getFlatNavigation(); @@ -45,33 +47,42 @@ export class FuseShortcutsComponent implements OnInit, OnDestroy ngOnInit() { - // User's shortcut items - this.shortcutItems = [ - { - 'title': 'Calendar', - 'type' : 'nav-item', - 'icon' : 'today', - 'url' : '/apps/calendar' - }, - { - 'title': 'Mail', - 'type' : 'nav-item', - 'icon' : 'email', - 'url' : '/apps/mail' - }, - { - 'title': 'Contacts', - 'type' : 'nav-item', - 'icon' : 'account_box', - 'url' : '/apps/contacts' - }, - { - 'title': 'To-Do', - 'type' : 'nav-item', - 'icon' : 'check_box', - 'url' : '/apps/todo' - } - ]; + const cookieExists = this.cookieService.check('FUSE2.shortcuts'); + + if ( cookieExists ) + { + this.shortcutItems = JSON.parse(this.cookieService.get('FUSE2.shortcuts')); + } + else + { + // User's shortcut items + this.shortcutItems = [ + { + 'title': 'Calendar', + 'type' : 'nav-item', + 'icon' : 'today', + 'url' : '/apps/calendar' + }, + { + 'title': 'Mail', + 'type' : 'nav-item', + 'icon' : 'email', + 'url' : '/apps/mail' + }, + { + 'title': 'Contacts', + 'type' : 'nav-item', + 'icon' : 'account_box', + 'url' : '/apps/contacts' + }, + { + 'title': 'To-Do', + 'type' : 'nav-item', + 'icon' : 'check_box', + 'url' : '/apps/todo' + } + ]; + } this.matchMediaSubscription = this.fuseMatchMedia.onMediaChange.subscribe(() => { @@ -115,12 +126,18 @@ export class FuseShortcutsComponent implements OnInit, OnDestroy if ( this.shortcutItems[i].url === itemToToggle.url ) { this.shortcutItems.splice(i, 1); + + // Save to the cookies + this.cookieService.set('FUSE2.shortcuts', JSON.stringify(this.shortcutItems)); + return; } - } this.shortcutItems.push(itemToToggle); + + // Save to the cookies + this.cookieService.set('FUSE2.shortcuts', JSON.stringify(this.shortcutItems)); } isInShortcuts(navigationItem) diff --git a/src/app/core/directives/md-sidenav-helper/md-sidenav-helper.directive.ts b/src/app/core/directives/md-sidenav-helper/md-sidenav-helper.directive.ts index 5d1fe774..f0e8a398 100644 --- a/src/app/core/directives/md-sidenav-helper/md-sidenav-helper.directive.ts +++ b/src/app/core/directives/md-sidenav-helper/md-sidenav-helper.directive.ts @@ -35,13 +35,17 @@ export class FuseMdSidenavHelperDirective implements OnInit, AfterViewInit, OnDe { this.isLockedOpen = true; this.mdSidenav.mode = 'side'; - this.mdSidenav.open(); + setTimeout(() => { + this.mdSidenav.open(); + }); } else { this.isLockedOpen = false; this.mdSidenav.mode = 'over'; - this.mdSidenav.close(); + setTimeout(() => { + this.mdSidenav.close(); + }); } this.matchMediaSubscription = this.fuseMatchMedia.onMediaChange.subscribe(() => { diff --git a/src/app/core/modules/material.module.ts b/src/app/core/modules/material.module.ts index adeef984..dd36d87c 100644 --- a/src/app/core/modules/material.module.ts +++ b/src/app/core/modules/material.module.ts @@ -32,7 +32,7 @@ import { MdTableModule, MdTabsModule } from '@angular/material'; -import { CdkTableModule } from '@angular/cdk'; +import { CdkTableModule } from '@angular/cdk/table'; @NgModule({ imports: [ diff --git a/src/app/core/modules/shared.module.ts b/src/app/core/modules/shared.module.ts index 60b1d106..766aa536 100644 --- a/src/app/core/modules/shared.module.ts +++ b/src/app/core/modules/shared.module.ts @@ -21,6 +21,7 @@ import { FuseHljsComponent } from '../components/hljs/hljs.component'; 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 { Md2Module } from 'md2'; +import { CookieService } from 'ngx-cookie-service'; @NgModule({ declarations : [ @@ -68,6 +69,7 @@ import { Md2Module } from 'md2'; FuseConfirmDialogComponent ], providers : [ + CookieService, FuseNavigationService, FuseMatchMedia, FuseNavbarService, diff --git a/src/app/core/scss/core.scss b/src/app/core/scss/core.scss index cc972b4f..728a51b7 100644 --- a/src/app/core/scss/core.scss +++ b/src/app/core/scss/core.scss @@ -28,6 +28,7 @@ @import "partials/navigation"; @import "partials/forms"; @import "partials/toolbar"; +@import "partials/print"; // Plugins @import "partials/plugins/plugins"; diff --git a/src/app/core/scss/partials/_page-layouts.scss b/src/app/core/scss/partials/_page-layouts.scss index 3bf274b5..87322fce 100644 --- a/src/app/core/scss/partials/_page-layouts.scss +++ b/src/app/core/scss/partials/_page-layouts.scss @@ -144,7 +144,8 @@ $top-bg-image: url('assets/images/backgrounds/header-bg.png'); &.md-stop-transition { - ~ .mat-sidenav-content { + ~ .mat-sidenav-content, + ~ .mat-drawer-content { 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; flex: 1; height: auto; @@ -229,7 +231,8 @@ $top-bg-image: url('assets/images/backgrounds/header-bg.png'); &.md-is-locked-open { - ~ .mat-sidenav-content { + ~ .mat-sidenav-content, + ~ .mat-drawer-content { margin-left: 0 !important; .center { @@ -252,7 +255,8 @@ $top-bg-image: url('assets/images/backgrounds/header-bg.png'); &.md-is-locked-open { - ~ .mat-sidenav-content { + ~ .mat-sidenav-content, + ~ .mat-drawer-content { margin-right: 0 !important; .center { @@ -301,7 +305,8 @@ $top-bg-image: url('assets/images/backgrounds/header-bg.png'); > md-sidenav-container { flex: 1 0 auto; - > .mat-sidenav-content { + > .mat-sidenav-content, + > .mat-drawer-content { flex: 1 0 auto; 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; height: auto; @@ -368,7 +374,8 @@ $top-bg-image: url('assets/images/backgrounds/header-bg.png'); &.md-stop-transition { - ~ .mat-sidenav-content { + ~ .mat-sidenav-content, + ~ .mat-drawer-content { 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; flex: 1; height: auto; @@ -472,7 +480,8 @@ $top-bg-image: url('assets/images/backgrounds/header-bg.png'); > md-sidenav-container { flex: 1 0 auto !important; - > .mat-sidenav-content { + > .mat-sidenav-content, + > .mat-drawer-content { flex: 1 0 auto; > .center { @@ -499,7 +508,8 @@ $top-bg-image: url('assets/images/backgrounds/header-bg.png'); > md-sidenav-container { - > .mat-sidenav-content { + > .mat-sidenav-content, + > .mat-drawer-content { .center { margin: 0 16px; diff --git a/src/app/core/scss/partials/_print.scss b/src/app/core/scss/partials/_print.scss new file mode 100644 index 00000000..ca03b476 --- /dev/null +++ b/src/app/core/scss/partials/_print.scss @@ -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; + } +} \ No newline at end of file diff --git a/src/app/core/services/config.service.ts b/src/app/core/services/config.service.ts index 795b31dd..8d73e08a 100644 --- a/src/app/core/services/config.service.ts +++ b/src/app/core/services/config.service.ts @@ -1,7 +1,7 @@ import { Injectable } from '@angular/core'; import { BehaviorSubject } from 'rxjs/BehaviorSubject'; import { NavigationStart, Router } from '@angular/router'; -import { Platform } from '@angular/cdk'; +import { Platform } from '@angular/cdk/platform'; @Injectable() export class FuseConfigService @@ -12,6 +12,7 @@ export class FuseConfigService /** * @param router + * @param platform */ constructor( private router: Router, diff --git a/src/app/main/content/apps/calendar/event-form/event-form.component.html b/src/app/main/content/apps/calendar/event-form/event-form.component.html index afd93db7..e7e219a6 100644 --- a/src/app/main/content/apps/calendar/event-form/event-form.component.html +++ b/src/app/main/content/apps/calendar/event-form/event-form.component.html @@ -58,29 +58,23 @@
+ board-color-selector works! +
diff --git a/src/app/main/content/apps/scrumboard/board/sidenavs/settings/board-color-selector/board-color-selector.component.scss b/src/app/main/content/apps/scrumboard/board/sidenavs/settings/board-color-selector/board-color-selector.component.scss new file mode 100644 index 00000000..e69de29b diff --git a/src/app/main/content/apps/scrumboard/board/sidenavs/settings/board-color-selector/board-color-selector.component.ts b/src/app/main/content/apps/scrumboard/board/sidenavs/settings/board-color-selector/board-color-selector.component.ts new file mode 100644 index 00000000..bf9ff816 --- /dev/null +++ b/src/app/main/content/apps/scrumboard/board/sidenavs/settings/board-color-selector/board-color-selector.component.ts @@ -0,0 +1,15 @@ +import { Component, OnInit } from '@angular/core'; + +@Component({ + selector: 'app-board-color-selector', + templateUrl: './board-color-selector.component.html', + styleUrls: ['./board-color-selector.component.scss'] +}) +export class BoardColorSelectorComponent implements OnInit { + + constructor() { } + + ngOnInit() { + } + +} diff --git a/src/app/main/content/apps/todo/todo-details/todo-details.component.html b/src/app/main/content/apps/todo/todo-details/todo-details.component.html index 23b9397d..d17658e9 100644 --- a/src/app/main/content/apps/todo/todo-details/todo-details.component.html +++ b/src/app/main/content/apps/todo/todo-details/todo-details.component.html @@ -70,25 +70,18 @@
+ fuse-countdown
is a custom built Fuse component allows you to create a countdowns.
+
+
+
+ eventDate
+
+ The date of the event. Since fuse-countdown uses moment.js to parse the dates, any moment.js
+ compatible date string can be used.
+
+
+ fuse-hljs
is a custom built Fuse component allows to show syntax highlighted codes.
+
+
+
+ lang
+
+ Language of the code to be highlighted. All highlight.js languages can be used.
+
+
+ fuse-material-color-picker
is a custom built Fuse component allows you to add a color picker
+ that allows to choose one of the many Material spec. colors.
+
+
+
+ selectedClass
+
+ The name of the Fuse color class to select, e.g. md-red-500-bg
+
+
+ selectedBg
+
+ The hex code of the color to be selected. It will be only selected if the hex code of the color
+ matches one of the material colors.
+
+
+ onValueChange
+
+ Event that triggered when a color selected. Returns an object that holds palette, hue, class name,
+ background and foreground colors.
+
+
+ fuse-search-bar
is a custom built Fuse component allows you to have a search bar that activates
+ on click.
+
+
+ onInput
+ Triggers every time an input occurs within the search bar. Can be used to trigger the actual
+ search mechanism. The $event is the value from the search input.
+
+ fuse-shortcuts
is a custom built Fuse component allows you to create and save shortcuts from
+ the navigation model.
+
+
+ <fuse-shortcuts></fuse-shortcuts>
uses the same service with navigation
+ component to populate the shortcuts. It can search the navigation items as well as pin and unpin them as
+ shortcuts. It uses browser cookies to store the shortcuts.
+
+ fuse-widget
is a custom built Fuse component allows to create flippable widget boxes.
+
+
+ Config
is a custom built Fuse service allows to have a granule control over the Fuse. It can be
+ used for changing theme options (layout, color etc.) by component basis.
+
+
+ Splash screen
is a custom built Fuse service allows to have a fully controllable splash
+ screen. It also has built state for application loading so it will always be available while the app
+ loads.
+
+