Compare commits

..

9 Commits

Author SHA1 Message Date
sercan
6c578b8fda Updated changelog and version number 2020-11-12 11:26:20 +03:00
sercan
bc82cd2a4c Angular Material 11 compatibility update 2020-11-12 11:22:46 +03:00
sercan
9be323f287 Angular 11 compatibility update 2020-11-12 11:08:11 +03:00
sercan
e5ce782c3b Angular 10 compatibility update 2020-07-23 15:15:42 +03:00
sercan
137b728f95 (Navigation) Fix: Navigation items cannot be updated on the fly 2020-07-23 13:32:01 +03:00
sercan
9bc4f49ab2 Merge branch 'master' of https://github.com/withinpixels/fuse-angular 2020-02-15 11:12:10 +03:00
Sercan Yemen
b35e24815f Merge pull request #130 from XGNPreTender/patch-1
Update package.json
2020-02-15 11:11:10 +03:00
Rob van der Werf
b8683c2790 Update package.json
See https://angular.io/guide/ivy#speeding-up-ngcc-compilation
2020-02-14 12:59:55 +01:00
sercan
2752cd7a45 (Contacts) Reset the search filter when component destroyed to ensure the search will reset on route changes 2020-02-13 11:21:21 +03:00
28 changed files with 6338 additions and 5517 deletions

View File

@@ -17,7 +17,7 @@
"build": {
"builder": "@angular-devkit/build-angular:browser",
"options": {
"aot": true,
"aot": true,
"outputPath": "dist/fuse",
"index": "src/index.html",
"main": "src/main.ts",
@@ -32,7 +32,19 @@
"src/styles.scss"
],
"scripts": [],
"showCircularDependencies": false
"showCircularDependencies": false,
"allowedCommonJsDependencies": [
"lodash",
"@swimlane/dragula",
"chart.js",
"angular-calendar",
"calendar-utils/date-adapters/date-fns",
"contra/emitter",
"crossvent",
"dom-plane",
"dom-set",
"@mattlewis92/dom-autoscroller"
]
},
"configurations": {
"production": {
@@ -45,7 +57,6 @@
"optimization": true,
"outputHashing": "all",
"sourceMap": false,
"extractCss": true,
"namedChunks": false,
"aot": true,
"extractLicenses": true,
@@ -57,29 +68,28 @@
"maximumWarning": "4mb",
"maximumError": "6mb"
},
{
"type": "anyComponentStyle",
"maximumWarning": "6kb"
}
{
"type": "anyComponentStyle",
"maximumWarning": "6kb"
}
]
},
"ec": {
"budgets": [
{
"type": "anyComponentStyle",
"maximumWarning": "6kb"
}
],
"sourceMap": true,
"extractCss": true
"budgets": [
{
"type": "anyComponentStyle",
"maximumWarning": "6kb"
}
],
"sourceMap": true
},
"hmr": {
"budgets": [
{
"type": "anyComponentStyle",
"maximumWarning": "6kb"
}
],
"budgets": [
{
"type": "anyComponentStyle",
"maximumWarning": "6kb"
}
],
"fileReplacements": [
{
"replace": "src/environments/environment.ts",

View File

@@ -3,7 +3,7 @@
"compilerOptions": {
"outDir": "../out-tsc/e2e",
"module": "commonjs",
"target": "es5",
"target": "es2018",
"types": [
"jasmine",
"jasminewd2",

11457
package-lock.json generated

File diff suppressed because it is too large Load Diff

View File

@@ -1,16 +1,14 @@
{
"name": "fuse",
"version": "9.0.0",
"version": "11.0.0",
"license": "https://themeforest.net/licenses/terms/regular",
"scripts": {
"ng": "ng",
"start": "ng serve --open",
"start-hmr": "ng serve --configuration hmr --source-map=false --hmr-warning=false",
"start-hmr-sourcemaps": "ng serve --configuration hmr --source-map=true --hmr-warning=false",
"build": "node --max_old_space_size=6144 ./node_modules/@angular/cli/bin/ng build --dev",
"build-stats": "node --max_old_space_size=6144 ./node_modules/@angular/cli/bin/ng build --dev --stats-json",
"build-prod": "node --max_old_space_size=6144 ./node_modules/@angular/cli/bin/ng build --prod",
"build-prod-stats": "node --max_old_space_size=6144 ./node_modules/@angular/cli/bin/ng build --prod --stats-json",
"start:mem": "node --max_old_space_size=6144 ./node_modules/@angular/cli/bin/ng serve --open",
"build": "ng build",
"build:prod": "ng build --prod",
"build:prod:mem": "node --max_old_space_size=6144 ./node_modules/@angular/cli/bin/ng build --prod",
"test": "ng test",
"lint": "ng lint",
"e2e": "ng e2e",
@@ -19,70 +17,66 @@
"private": true,
"dependencies": {
"@agm/core": "1.1.0",
"@angular/animations": "9.0.0",
"@angular/cdk": "9.0.0",
"@angular/common": "9.0.0",
"@angular/compiler": "9.0.0",
"@angular/core": "9.0.0",
"@angular/flex-layout": "9.0.0-beta.29",
"@angular/forms": "9.0.0",
"@angular/material": "9.0.0",
"@angular/material-moment-adapter": "9.0.0",
"@angular/platform-browser": "9.0.0",
"@angular/platform-browser-dynamic": "9.0.0",
"@angular/router": "9.0.0",
"@angular/animations": "11.0.0",
"@angular/cdk": "11.0.0",
"@angular/common": "11.0.0",
"@angular/compiler": "11.0.0",
"@angular/core": "11.0.0",
"@angular/flex-layout": "10.0.0-beta.32",
"@angular/forms": "11.0.0",
"@angular/material": "11.0.0",
"@angular/material-moment-adapter": "11.0.0",
"@angular/platform-browser": "11.0.0",
"@angular/platform-browser-dynamic": "11.0.0",
"@angular/router": "11.0.0",
"@ngrx/effects": "8.6.0",
"@ngrx/router-store": "8.6.0",
"@ngrx/store": "8.6.0",
"@ngrx/store-devtools": "8.6.0",
"@ngx-translate/core": "12.0.0",
"@ngx-translate/core": "13.0.0",
"@swimlane/dragula": "3.8.0",
"@swimlane/ngx-charts": "13.0.2",
"@swimlane/ngx-datatable": "16.0.3",
"@swimlane/ngx-dnd": "8.1.0",
"@types/prismjs": "1.16.0",
"angular-calendar": "0.28.2",
"angular-in-memory-web-api": "0.9.0",
"chart.js": "2.9.3",
"@swimlane/ngx-charts": "16.0.0",
"@swimlane/ngx-datatable": "18.0.0",
"@swimlane/ngx-dnd": "8.2.0",
"@types/prismjs": "1.16.2",
"angular-calendar": "0.28.22",
"angular-in-memory-web-api": "0.11.0",
"chart.js": "2.9.4",
"classlist.js": "1.1.20150312",
"d3": "5.15.0",
"date-fns": "2.9.0",
"hammerjs": "2.0.8",
"lodash": "4.17.15",
"moment": "2.24.0",
"ng2-charts": "2.3.0",
"d3": "5.16.0",
"date-fns": "2.16.1",
"lodash": "4.17.20",
"moment": "2.29.1",
"ng2-charts": "2.4.2",
"ngrx-store-freeze": "0.2.4",
"ngx-color-picker": "8.2.0",
"ngx-cookie-service": "2.3.0",
"perfect-scrollbar": "1.4.0",
"prismjs": "1.19.0",
"rxjs": "6.5.4",
"tslib": "1.10.0",
"ngx-color-picker": "10.1.0",
"ngx-cookie-service": "10.1.1",
"perfect-scrollbar": "1.5.0",
"prismjs": "1.22.0",
"rxjs": "6.6.3",
"tslib": "2.0.3",
"web-animations-js": "2.3.2",
"zone.js": "0.10.2"
"zone.js": "0.10.3"
},
"devDependencies": {
"@angular/cli": "9.0.1",
"@angular/compiler-cli": "9.0.0",
"@angular/language-service": "9.0.0",
"@angular-devkit/build-angular": "0.900.1",
"@angularclass/hmr": "2.1.3",
"@types/jasmine": "3.5.2",
"@types/jasminewd2": "2.0.8",
"@types/lodash": "4.14.149",
"@types/node": "12.12.6",
"codelyzer": "5.2.1",
"jasmine-core": "3.5.0",
"jasmine-spec-reporter": "4.2.1",
"karma": "4.3.0",
"@angular/cli": "11.0.0",
"@angular/compiler-cli": "11.0.0",
"@angular/language-service": "11.0.0",
"@angular-devkit/build-angular": "0.1100.0",
"@types/jasmine": "3.6.1",
"@types/lodash": "4.14.165",
"@types/node": "12.19.4",
"codelyzer": "6.0.1",
"jasmine-core": "3.6.0",
"jasmine-spec-reporter": "5.0.2",
"karma": "5.1.1",
"karma-chrome-launcher": "3.1.0",
"karma-coverage-istanbul-reporter": "2.1.1",
"karma-jasmine": "2.0.1",
"karma-jasmine-html-reporter": "1.5.1",
"protractor": "5.4.3",
"karma-jasmine": "4.0.1",
"karma-jasmine-html-reporter": "1.5.4",
"protractor": "7.0.0",
"ts-node": "8.3.0",
"tslint": "5.18.0",
"typescript": "3.7.5",
"webpack-bundle-analyzer": "3.6.0"
"tslint": "6.1.3",
"typescript": "4.0.5",
"webpack-bundle-analyzer": "4.1.0"
}
}

View File

@@ -42,10 +42,10 @@
<ng-template #itemContent>
<mat-icon class="nav-link-icon" *ngIf="item.icon">{{item.icon}}</mat-icon>
<span class="nav-link-title" [translate]="item.translate">{{(item.translate | translate) || item.title}}</span>
<span class="nav-link-title" [translate]="item.translate">{{item.title}}</span>
<span class="nav-link-badge" *ngIf="item.badge" [translate]="item.badge.translate"
[ngStyle]="{'background-color': item.badge.bg,'color': item.badge.fg}">
{{(item.badge.translate | translate) || item.badge.title}}
{{item.badge.title}}
</span>
<mat-icon class="collapsable-arrow">keyboard_arrow_right</mat-icon>
</ng-template>

View File

@@ -38,10 +38,10 @@
<ng-template #itemContent>
<mat-icon class="nav-link-icon" *ngIf="item.icon">{{item.icon}}</mat-icon>
<span class="nav-link-title" [translate]="item.translate">{{(item.translate | translate) || item.title}}</span>
<span class="nav-link-title" [translate]="item.translate">{{item.title}}</span>
<span class="nav-link-badge" *ngIf="item.badge" [translate]="item.badge.translate"
[ngStyle]="{'background-color': item.badge.bg,'color': item.badge.fg}">
{{(item.badge.translate | translate) || item.badge.title}}
{{item.badge.title}}
</span>
</ng-template>

View File

@@ -45,10 +45,10 @@
<ng-template #itemContent>
<mat-icon class="nav-link-icon" *ngIf="item.icon">{{item.icon}}</mat-icon>
<span class="nav-link-title" [translate]="item.translate">{{(item.translate | translate) || item.title}}</span>
<span class="nav-link-title" [translate]="item.translate">{{item.title}}</span>
<span class="nav-link-badge" *ngIf="item.badge" [translate]="item.badge.translate"
[ngStyle]="{'background-color': item.badge.bg,'color': item.badge.fg}">
{{(item.badge.translate | translate) || item.badge.title}}
{{item.badge.title}}
</span>
<mat-icon class="collapsable-arrow">keyboard_arrow_right</mat-icon>
</ng-template>

View File

@@ -1,7 +1,7 @@
<ng-container *ngIf="!item.hidden">
<div class="group-title" [ngClass]="item.classes">
<span class="hint-text" [translate]="item.translate">{{(item.translate | translate) || item.title}}</span>
<span class="hint-text" [translate]="item.translate">{{item.title}}</span>
</div>
<div class="group-items">

View File

@@ -38,10 +38,10 @@
<ng-template #itemContent>
<mat-icon class="nav-link-icon" *ngIf="item.icon">{{item.icon}}</mat-icon>
<span class="nav-link-title" [translate]="item.translate">{{(item.translate | translate) || item.title}}</span>
<span class="nav-link-title" [translate]="item.translate">{{item.title}}</span>
<span class="nav-link-badge" *ngIf="item.badge" [translate]="item.badge.translate"
[ngStyle]="{'background-color': item.badge.bg,'color': item.badge.fg}">
{{(item.badge.translate | translate) || item.badge.title}}
{{item.badge.title}}
</span>
</ng-template>

View File

@@ -74,7 +74,7 @@
}
.fuse-search-bar-collapser {
display: flex;
display: inline-block;
}
}
}

View File

@@ -86,17 +86,17 @@ export class AppComponent implements OnInit, OnDestroy
* This is related to ngxTranslate module and below there is a temporary fix while we
* are moving the multi language implementation over to the Angular's core language
* service.
**/
*/
// Set the default language to 'en' and then back to 'tr'.
// '.use' cannot be used here as ngxTranslate won't switch to a language that's already
// been selected and there is no way to force it, so we overcome the issue by switching
// the default language back and forth.
/**
setTimeout(() => {
this._translateService.setDefaultLang('en');
this._translateService.setDefaultLang('tr');
});
* setTimeout(() => {
* this._translateService.setDefaultLang('en');
* this._translateService.setDefaultLang('tr');
* });
*/
/**

View File

@@ -8,7 +8,6 @@ import { MatButtonModule } from '@angular/material/button';
import { MatIconModule } from '@angular/material/icon';
import { InMemoryWebApiModule } from 'angular-in-memory-web-api';
import { TranslateModule } from '@ngx-translate/core';
import 'hammerjs';
import { FuseModule } from '@fuse/fuse.module';
import { FuseSharedModule } from '@fuse/shared.module';
@@ -52,7 +51,7 @@ const appRoutes: Routes = [
BrowserModule,
BrowserAnimationsModule,
HttpClientModule,
RouterModule.forRoot(appRoutes),
RouterModule.forRoot(appRoutes, { relativeLinkResolution: 'legacy' }),
TranslateModule.forRoot(),
InMemoryWebApiModule.forRoot(FakeDbService, {

View File

@@ -6,7 +6,7 @@
target="_blank" mat-button class="pink" fxFlex="0 0 auto" fxLayout="row"
fxLayoutAlign="start center">
<mat-icon class="s-16 mr-sm-4">shopping_cart</mat-icon>
<span>Purchase FUSE (Angular 8+)</span>
<span>Purchase FUSE Angular</span>
</a>
<div fxLayout="row" fxLayoutAlign="start center" fxHide fxShow.gt-xs>

View File

@@ -77,6 +77,9 @@ export class ContactsComponent implements OnInit, OnDestroy
*/
ngOnDestroy(): void
{
// Reset the search
this._contactsService.onSearchTextChanged.next('');
// Unsubscribe from all subscriptions
this._unsubscribeAll.next();
this._unsubscribeAll.complete();

View File

@@ -9,7 +9,7 @@ import { fuseAnimations } from '@fuse/animations';
import { FuseUtils } from '@fuse/utils';
import { EcommerceOrdersService } from 'app/main/apps/e-commerce/orders/orders.service';
import { takeUntil } from 'rxjs/internal/operators';
import { takeUntil } from 'rxjs/operators';
@Component({
selector : 'e-commerce-orders',

View File

@@ -9,7 +9,7 @@ import { fuseAnimations } from '@fuse/animations';
import { FuseUtils } from '@fuse/utils';
import { EcommerceProductsService } from 'app/main/apps/e-commerce/products/products.service';
import { takeUntil } from 'rxjs/internal/operators';
import { takeUntil } from 'rxjs/operators';
@Component({
selector : 'e-commerce-products',

View File

@@ -1,9 +1,13 @@
<div id="changelog" class="page-layout simple fullwidth docs">
<div id="changelog"
class="page-layout simple fullwidth docs">
<!-- HEADER -->
<div class="header accent p-24" fxLayout="column" fxLayoutAlign="center start">
<div class="header accent p-24"
fxLayout="column"
fxLayoutAlign="center start">
<div fxLayout="row" fxLayoutAlign="start center">
<div fxLayout="row"
fxLayoutAlign="start center">
<mat-icon class="secondary-text s-18">home</mat-icon>
<mat-icon class="secondary-text s-16">chevron_right</mat-icon>
<span class="secondary-text">Documentation</span>
@@ -19,6 +23,69 @@
<div class="changelog">
<!-- --------------------------------------------------------------------------------------------- -->
<!-- @ v11.0.0 -->
<!-- --------------------------------------------------------------------------------------------- -->
<div class="entry">
<div class="title">
<span class="version">v11.0.0</span>
<span class="date">2020.11.12</span>
</div>
<div class="groups">
<div class="new">
<span class="title">New</span>
<ul>
<li>Updated Angular to v11</li>
<li>Updated Angular Material to v11</li>
<li>Updated various other packages to latest versions</li>
</ul>
</div>
</div>
</div>
<!-- --------------------------------------------------------------------------------------------- -->
<!-- @ v10.0.0 -->
<!-- --------------------------------------------------------------------------------------------- -->
<div class="entry">
<div class="title">
<span class="version">v10.0.0</span>
<span class="date">2020.07.23</span>
</div>
<div class="groups">
<div class="new">
<span class="title">New</span>
<ul>
<li>Updated Angular to 10</li>
<li>Updated Angular Material to 10</li>
<li>Updated various other packages to latest versions</li>
</ul>
</div>
<div class="fixed">
<span class="title">Fixed</span>
<ul>
<li>(Fuse Navigation) Updating menu items on the fly is not working</li>
</ul>
</div>
<div class="breaking-changes">
<span class="title">Breaking Changes</span>
<ul>
<li>Removed HMR (Hot module reloading)</li>
<li>Updated npm script names to better reflect their tasks</li>
</ul>
</div>
</div>
</div>
<!-- --------------------------------------------------------------------------------------------- -->
<!-- @ v9.0.0 -->
<!-- --------------------------------------------------------------------------------------------- -->

View File

@@ -48,9 +48,9 @@ export class DocsComponentsNavigationComponent
{
// Update the badge title
this._fuseNavigationService.updateNavigationItem('mail', {
badge: {
title: 35
}
badge: {
title: 35
}
});
}
@@ -68,7 +68,7 @@ export class DocsComponentsNavigationComponent
};
this._fuseNavigationService.updateNavigationItem('calendar', {
type: 'collapsable',
type : 'collapsable',
children: [
newNavItem
]

View File

@@ -1,7 +1,7 @@
import { Component, OnDestroy, OnInit, ViewEncapsulation } from '@angular/core';
import { AbstractControl, FormBuilder, FormGroup, ValidationErrors, ValidatorFn, Validators } from '@angular/forms';
import { Subject } from 'rxjs';
import { takeUntil } from 'rxjs/internal/operators';
import { takeUntil } from 'rxjs/operators';
import { FuseConfigService } from '@fuse/services/config.service';
import { fuseAnimations } from '@fuse/animations';

View File

@@ -1,7 +1,7 @@
import { Component, OnDestroy, OnInit, ViewEncapsulation } from '@angular/core';
import { AbstractControl, FormBuilder, FormGroup, ValidationErrors, ValidatorFn, Validators } from '@angular/forms';
import { Subject } from 'rxjs';
import { takeUntil } from 'rxjs/internal/operators';
import { takeUntil } from 'rxjs/operators';
import { FuseConfigService } from '@fuse/services/config.service';
import { fuseAnimations } from '@fuse/animations';

View File

@@ -604,7 +604,7 @@ export const navigation: FuseNavigation[] = [
icon : 'update',
url : '/documentation/changelog',
badge: {
title: '9.0.0',
title: '10.0.0',
bg : '#EC0C8E',
fg : '#FFFFFF'
}

View File

@@ -1,4 +0,0 @@
export const environment = {
production: false,
hmr : true
};

View File

@@ -3,13 +3,13 @@
<head>
<title>Fuse - Angular 8+ Material Design Admin Template</title>
<title>Fuse Angular - Material Design Admin Template</title>
<base href="/">
<meta charset="utf-8">
<meta name="description" content="Material design admin template with pre-built apps and pages">
<meta name="keywords"
content="HTML,CSS,AngularJS,Angular,Angular 2,Angular 4,Angular 5,Angular 6,Angular 7,Material,Material 2">
content="HTML,CSS,AngularJS,Angular,Angular 2,Angular 4,Angular 5,Angular 6,Angular 7,Angular 8,Angular 9,Angular 10,Material,Material 2">
<meta name="author" content="Withinpixels">
<meta name="viewport" content="width=device-width, initial-scale=1.0, maximum-scale=1.0, user-scalable=no">

View File

@@ -1,30 +1,12 @@
import { enableProdMode } from '@angular/core';
import { platformBrowserDynamic } from '@angular/platform-browser-dynamic';
import { AppModule } from './app/app.module';
import { environment } from './environments/environment';
import { hmrBootstrap } from 'hmr';
if ( environment.production )
{
enableProdMode();
}
const bootstrap = () => platformBrowserDynamic().bootstrapModule(AppModule);
if ( environment.hmr )
{
if ( module['hot'] )
{
hmrBootstrap(module, bootstrap);
}
else
{
console.error('HMR is not enabled for webpack-dev-server!');
console.log('Are you using the --hmr flag for ng serve?');
}
}
else
{
bootstrap().catch(err => console.error(err));
}
platformBrowserDynamic().bootstrapModule(AppModule)
.catch(err => console.error(err));

View File

@@ -6,10 +6,10 @@
"node"
]
},
"files": [
"src/main.ts",
"src/polyfills.ts"
],
"files": [
"src/main.ts",
"src/polyfills.ts"
],
"include": [
"src/**/*.d.ts"
]

View File

@@ -7,7 +7,7 @@
"declaration": false,
"downlevelIteration": true,
"experimentalDecorators": true,
"module": "esnext",
"module": "es2020",
"moduleResolution": "node",
"importHelpers": true,
"target": "es2015",

View File

@@ -1,10 +1,18 @@
{
"extends": "tslint:recommended",
"rules": {
"align": {
"options": [
"parameters",
"statements"
]
},
"array-type": false,
"arrow-parens": false,
"arrow-return-shorthand": true,
"curly": true,
"deprecation": {
"severity": "warning"
"severity": "warning"
},
"component-class-suffix": true,
"contextual-lifecycle": true,
@@ -31,10 +39,17 @@
"camelCase"
]
],
"eofline": true,
"import-blacklist": [
true,
"rxjs/Rx"
],
"import-spacing": true,
"indent": {
"options": [
"spaces"
]
},
"interface-name": false,
"max-classes-per-file": false,
"max-line-length": [
@@ -83,6 +98,20 @@
true,
"single"
],
"semicolon": {
"options": [
"always"
]
},
"space-before-function-paren": {
"options": {
"anonymous": "never",
"asyncArrow": "always",
"constructor": "never",
"method": "never",
"named": "never"
}
},
"typedef": [
true,
"call-signature",
@@ -99,6 +128,24 @@
"no-outputs-metadata-property": true,
"template-banana-in-box": true,
"template-no-negated-async": true,
"typedef-whitespace": {
"options": [
{
"call-signature": "nospace",
"index-signature": "nospace",
"parameter": "nospace",
"property-declaration": "nospace",
"variable-declaration": "nospace"
},
{
"call-signature": "onespace",
"index-signature": "onespace",
"parameter": "onespace",
"property-declaration": "onespace",
"variable-declaration": "onespace"
}
]
},
"use-lifecycle-interface": true,
"use-pipe-transform-interface": true,
"variable-name": [
@@ -107,7 +154,17 @@
"check-format",
"allow-pascal-case",
"allow-leading-underscore"
]
],
"whitespace": {
"options": [
"check-branch",
"check-decl",
"check-operator",
"check-separator",
"check-type",
"check-typecast"
]
}
},
"rulesDirectory": [
"codelyzer"