mirror of
https://github.com/richard-loafle/fuse-angular.git
synced 2025-12-24 09:57:05 +00:00
Compare commits
20 Commits
v8.0.0-ske
...
v10.0.0-sk
| Author | SHA1 | Date | |
|---|---|---|---|
|
|
45aa7cc026 | ||
|
|
e5ce782c3b | ||
|
|
137b728f95 | ||
|
|
9bc4f49ab2 | ||
|
|
b35e24815f | ||
|
|
b8683c2790 | ||
|
|
2752cd7a45 | ||
|
|
dd380cf81c | ||
|
|
a2abf298b3 | ||
|
|
f56c989563 | ||
|
|
54dd7837ec | ||
|
|
007739c356 | ||
|
|
88949b4ab6 | ||
|
|
116721dd33 | ||
|
|
3ec49abcf2 | ||
|
|
b2f56fcd12 | ||
|
|
612a4827dc | ||
|
|
72fd2dd22d | ||
|
|
09bc137fa0 | ||
|
|
00e228ab5a |
@@ -5,12 +5,8 @@
|
||||
# You can see what browsers were selected by your queries by running:
|
||||
# npx browserslist
|
||||
|
||||
# Googlebot uses an older version of Chrome
|
||||
# For additional information see: https://developers.google.com/search/docs/guides/rendering
|
||||
|
||||
> 0.5%
|
||||
last 2 versions
|
||||
Firefox ESR
|
||||
Chrome 41 # Support for Googlebot
|
||||
not dead
|
||||
not IE 9-11 # For IE 9-11 support, remove 'not'.
|
||||
31
angular.json
31
angular.json
@@ -17,6 +17,7 @@
|
||||
"build": {
|
||||
"builder": "@angular-devkit/build-angular:browser",
|
||||
"options": {
|
||||
"aot": true,
|
||||
"outputPath": "dist/fuse",
|
||||
"index": "src/index.html",
|
||||
"main": "src/main.ts",
|
||||
@@ -30,7 +31,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": {
|
||||
@@ -54,14 +67,30 @@
|
||||
"type": "initial",
|
||||
"maximumWarning": "4mb",
|
||||
"maximumError": "6mb"
|
||||
},
|
||||
{
|
||||
"type": "anyComponentStyle",
|
||||
"maximumWarning": "6kb"
|
||||
}
|
||||
]
|
||||
},
|
||||
"ec": {
|
||||
"budgets": [
|
||||
{
|
||||
"type": "anyComponentStyle",
|
||||
"maximumWarning": "6kb"
|
||||
}
|
||||
],
|
||||
"sourceMap": true,
|
||||
"extractCss": true
|
||||
},
|
||||
"hmr": {
|
||||
"budgets": [
|
||||
{
|
||||
"type": "anyComponentStyle",
|
||||
"maximumWarning": "6kb"
|
||||
}
|
||||
],
|
||||
"fileReplacements": [
|
||||
{
|
||||
"replace": "src/environments/environment.ts",
|
||||
|
||||
@@ -1,8 +1,12 @@
|
||||
// @ts-check
|
||||
// Protractor configuration file, see link for more information
|
||||
// https://github.com/angular/protractor/blob/master/lib/config.ts
|
||||
|
||||
const {SpecReporter} = require('jasmine-spec-reporter');
|
||||
const { SpecReporter } = require('jasmine-spec-reporter');
|
||||
|
||||
/**
|
||||
* @type { import("protractor").Config }
|
||||
*/
|
||||
exports.config = {
|
||||
allScriptsTimeout: 11000,
|
||||
specs : [
|
||||
@@ -24,8 +28,8 @@ exports.config = {
|
||||
onPrepare()
|
||||
{
|
||||
require('ts-node').register({
|
||||
project: require('path').join(__dirname, './tsconfig.e2e.json')
|
||||
project: require('path').join(__dirname, './tsconfig.json')
|
||||
});
|
||||
jasmine.getEnv().addReporter(new SpecReporter({spec: {displayStacktrace: true}}));
|
||||
}
|
||||
};
|
||||
};
|
||||
|
||||
@@ -1,4 +1,5 @@
|
||||
import { FusePage } from './app.po';
|
||||
import { browser, logging } from 'protractor';
|
||||
|
||||
describe('Fuse App', () => {
|
||||
let page: FusePage;
|
||||
@@ -11,4 +12,12 @@ describe('Fuse App', () => {
|
||||
page.navigateTo();
|
||||
expect(page.getParagraphText()).toEqual('Welcome to Fuse!');
|
||||
});
|
||||
|
||||
afterEach(async () => {
|
||||
// Assert that there are no errors emitted from the browser
|
||||
const logs = await browser.manage().logs().get(logging.Type.BROWSER);
|
||||
expect(logs).not.toContain(jasmine.objectContaining({
|
||||
level: logging.Level.SEVERE
|
||||
} as logging.Entry));
|
||||
});
|
||||
});
|
||||
|
||||
@@ -1,11 +1,14 @@
|
||||
import { browser, by, element } from 'protractor';
|
||||
|
||||
export class FusePage {
|
||||
navigateTo(): any {
|
||||
return browser.get('/');
|
||||
export class FusePage
|
||||
{
|
||||
navigateTo(): Promise<any>
|
||||
{
|
||||
return browser.get('/') as Promise<any>;
|
||||
}
|
||||
|
||||
getParagraphText(): any {
|
||||
return element(by.css('app #main')).getText();
|
||||
getParagraphText(): Promise<string>
|
||||
{
|
||||
return element(by.css('app #main')).getText() as Promise<string>;
|
||||
}
|
||||
}
|
||||
|
||||
@@ -1,13 +1,13 @@
|
||||
{
|
||||
"extends": "../tsconfig.json",
|
||||
"compilerOptions": {
|
||||
"outDir": "../out-tsc/app",
|
||||
"module": "commonjs",
|
||||
"target": "es5",
|
||||
"types": [
|
||||
"jasmine",
|
||||
"jasminewd2",
|
||||
"node"
|
||||
]
|
||||
}
|
||||
}
|
||||
"extends": "../tsconfig.base.json",
|
||||
"compilerOptions": {
|
||||
"outDir": "../out-tsc/app",
|
||||
"module": "commonjs",
|
||||
"target": "es5",
|
||||
"types": [
|
||||
"jasmine",
|
||||
"jasminewd2",
|
||||
"node"
|
||||
]
|
||||
}
|
||||
}
|
||||
|
||||
13
e2e/tsconfig.json
Normal file
13
e2e/tsconfig.json
Normal file
@@ -0,0 +1,13 @@
|
||||
{
|
||||
"extends": "../tsconfig.base.json",
|
||||
"compilerOptions": {
|
||||
"outDir": "../out-tsc/e2e",
|
||||
"module": "commonjs",
|
||||
"target": "es2018",
|
||||
"types": [
|
||||
"jasmine",
|
||||
"jasminewd2",
|
||||
"node"
|
||||
]
|
||||
}
|
||||
}
|
||||
11514
package-lock.json
generated
11514
package-lock.json
generated
File diff suppressed because it is too large
Load Diff
132
package.json
132
package.json
@@ -1,16 +1,14 @@
|
||||
{
|
||||
"name": "fuse",
|
||||
"version": "8.0.0",
|
||||
"version": "10.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",
|
||||
@@ -18,71 +16,69 @@
|
||||
},
|
||||
"private": true,
|
||||
"dependencies": {
|
||||
"@agm/core": "1.0.0-beta.5",
|
||||
"@angular/animations": "8.0.0",
|
||||
"@angular/cdk": "8.0.0",
|
||||
"@angular/common": "8.0.0",
|
||||
"@angular/compiler": "8.0.0",
|
||||
"@angular/core": "8.0.0",
|
||||
"@angular/flex-layout": "8.0.0-beta.26",
|
||||
"@angular/forms": "8.0.0",
|
||||
"@angular/material": "8.0.0",
|
||||
"@angular/material-moment-adapter": "8.0.0",
|
||||
"@angular/platform-browser": "8.0.0",
|
||||
"@angular/platform-browser-dynamic": "8.0.0",
|
||||
"@angular/router": "8.0.0",
|
||||
"@ngrx/effects": "8.0.0-beta.2",
|
||||
"@ngrx/router-store": "8.0.0-beta.2",
|
||||
"@ngrx/store": "8.0.0-beta.2",
|
||||
"@ngrx/store-devtools": "8.0.0-beta.2",
|
||||
"@ngx-translate/core": "11.0.1",
|
||||
"@agm/core": "1.1.0",
|
||||
"@angular/animations": "10.0.5",
|
||||
"@angular/cdk": "10.1.0",
|
||||
"@angular/common": "10.0.5",
|
||||
"@angular/compiler": "10.0.5",
|
||||
"@angular/core": "10.0.5",
|
||||
"@angular/flex-layout": "10.0.0-beta.32",
|
||||
"@angular/forms": "10.0.5",
|
||||
"@angular/material": "10.1.0",
|
||||
"@angular/material-moment-adapter": "10.1.0",
|
||||
"@angular/platform-browser": "10.0.5",
|
||||
"@angular/platform-browser-dynamic": "10.0.5",
|
||||
"@angular/router": "10.0.5",
|
||||
"@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": "13.0.0",
|
||||
"@swimlane/dragula": "3.8.0",
|
||||
"@swimlane/ngx-charts": "11.1.0",
|
||||
"@swimlane/ngx-datatable": "15.0.0",
|
||||
"@swimlane/ngx-dnd": "7.0.0",
|
||||
"@types/prismjs": "1.16.0",
|
||||
"angular-calendar": "0.27.8",
|
||||
"angular-in-memory-web-api": "0.8.0",
|
||||
"chart.js": "2.8.0",
|
||||
"@swimlane/ngx-charts": "14.0.0",
|
||||
"@swimlane/ngx-datatable": "17.1.0",
|
||||
"@swimlane/ngx-dnd": "8.1.2",
|
||||
"@types/prismjs": "1.16.1",
|
||||
"angular-calendar": "0.28.16",
|
||||
"angular-in-memory-web-api": "0.11.0",
|
||||
"chart.js": "2.9.3",
|
||||
"classlist.js": "1.1.20150312",
|
||||
"d3": "5.9.2",
|
||||
"date-fns": "1.30.1",
|
||||
"hammerjs": "2.0.8",
|
||||
"lodash": "4.17.11",
|
||||
"moment": "2.24.0",
|
||||
"ng2-charts": "2.2.4",
|
||||
"d3": "5.16.0",
|
||||
"date-fns": "2.15.0",
|
||||
"lodash": "4.17.19",
|
||||
"moment": "2.27.0",
|
||||
"ng2-charts": "2.3.2",
|
||||
"ngrx-store-freeze": "0.2.4",
|
||||
"ngx-color-picker": "7.5.0",
|
||||
"ngx-cookie-service": "2.2.0",
|
||||
"perfect-scrollbar": "1.4.0",
|
||||
"prismjs": "1.16.0",
|
||||
"rxjs": "6.5.2",
|
||||
"web-animations-js": "github:angular/web-animations-js#release_pr208",
|
||||
"zone.js": "0.9.1"
|
||||
"ngx-color-picker": "9.1.0",
|
||||
"ngx-cookie-service": "3.1.2",
|
||||
"perfect-scrollbar": "1.5.0",
|
||||
"prismjs": "1.20.0",
|
||||
"rxjs": "6.6.0",
|
||||
"tslib": "2.0.0",
|
||||
"web-animations-js": "2.3.2",
|
||||
"zone.js": "0.10.3"
|
||||
},
|
||||
"devDependencies": {
|
||||
"@angular/cli": "8.0.0",
|
||||
"@angular/compiler-cli": "8.0.0",
|
||||
"@angular/language-service": "8.0.0",
|
||||
"@angular-devkit/build-angular": "0.800.0",
|
||||
"@angularclass/hmr": "2.1.3",
|
||||
"@types/jasmine": "3.3.13",
|
||||
"@types/jasminewd2": "2.0.6",
|
||||
"@types/lodash": "4.14.132",
|
||||
"@types/node": "8.9.5",
|
||||
"codelyzer": "5.0.1",
|
||||
"jasmine-core": "3.4.0",
|
||||
"jasmine-spec-reporter": "4.2.1",
|
||||
"karma": "4.1.0",
|
||||
"karma-chrome-launcher": "2.2.0",
|
||||
"karma-coverage-istanbul-reporter": "2.0.5",
|
||||
"karma-jasmine": "2.0.1",
|
||||
"karma-jasmine-html-reporter": "1.4.2",
|
||||
"protractor": "5.4.2",
|
||||
"ts-node": "7.0.1",
|
||||
"tslib": "1.9.3",
|
||||
"tslint": "5.15.0",
|
||||
"typescript": "3.4.5",
|
||||
"webpack-bundle-analyzer": "3.3.2"
|
||||
"@angular/cli": "10.0.4",
|
||||
"@angular/compiler-cli": "10.0.5",
|
||||
"@angular/language-service": "10.0.5",
|
||||
"@angular-devkit/build-angular": "0.1000.4",
|
||||
"@types/jasmine": "3.5.2",
|
||||
"@types/jasminewd2": "2.0.8",
|
||||
"@types/lodash": "4.14.149",
|
||||
"@types/node": "12.12.6",
|
||||
"codelyzer": "6.0.0",
|
||||
"jasmine-core": "3.5.0",
|
||||
"jasmine-spec-reporter": "5.0.2",
|
||||
"karma": "5.1.0",
|
||||
"karma-chrome-launcher": "3.1.0",
|
||||
"karma-coverage-istanbul-reporter": "3.0.3",
|
||||
"karma-jasmine": "3.3.1",
|
||||
"karma-jasmine-html-reporter": "1.5.4",
|
||||
"protractor": "7.0.0",
|
||||
"ts-node": "8.3.0",
|
||||
"tslint": "6.1.2",
|
||||
"typescript": "3.9.7",
|
||||
"webpack-bundle-analyzer": "3.8.0"
|
||||
}
|
||||
}
|
||||
|
||||
@@ -66,4 +66,4 @@
|
||||
|
||||
</div>
|
||||
|
||||
</ng-container>
|
||||
</ng-container>
|
||||
|
||||
@@ -45,4 +45,4 @@
|
||||
</span>
|
||||
</ng-template>
|
||||
|
||||
</ng-container>
|
||||
</ng-container>
|
||||
|
||||
@@ -203,23 +203,30 @@ export class FuseNavVerticalCollapsableComponent implements OnInit, OnDestroy
|
||||
*/
|
||||
isChildrenOf(parent, item): boolean
|
||||
{
|
||||
if ( !parent.children )
|
||||
const children = parent.children;
|
||||
|
||||
if ( !children )
|
||||
{
|
||||
return false;
|
||||
}
|
||||
|
||||
if ( parent.children.indexOf(item) !== -1 )
|
||||
if ( children.indexOf(item) > -1 )
|
||||
{
|
||||
return true;
|
||||
}
|
||||
|
||||
for ( const children of parent.children )
|
||||
for ( const child of children )
|
||||
{
|
||||
if ( children.children )
|
||||
if ( child.children )
|
||||
{
|
||||
return this.isChildrenOf(children, item);
|
||||
if ( this.isChildrenOf(child, item) )
|
||||
{
|
||||
return true;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
return false;
|
||||
}
|
||||
|
||||
/**
|
||||
@@ -232,22 +239,24 @@ export class FuseNavVerticalCollapsableComponent implements OnInit, OnDestroy
|
||||
*/
|
||||
isUrlInChildren(parent, url): boolean
|
||||
{
|
||||
if ( !parent.children )
|
||||
const children = parent.children;
|
||||
|
||||
if ( !children )
|
||||
{
|
||||
return false;
|
||||
}
|
||||
|
||||
for ( let i = 0; i < parent.children.length; i++ )
|
||||
for ( const child of children )
|
||||
{
|
||||
if ( parent.children[i].children )
|
||||
if ( child.children )
|
||||
{
|
||||
if ( this.isUrlInChildren(parent.children[i], url) )
|
||||
if ( this.isUrlInChildren(child, url) )
|
||||
{
|
||||
return true;
|
||||
}
|
||||
}
|
||||
|
||||
if ( parent.children[i].url === url || url.includes(parent.children[i].url) )
|
||||
if ( child.url === url || url.includes(child.url) )
|
||||
{
|
||||
return true;
|
||||
}
|
||||
|
||||
@@ -1,7 +1,7 @@
|
||||
<ng-container *ngIf="!item.hidden">
|
||||
|
||||
<div class="group-title" [ngClass]="item.classes">
|
||||
<span class="hint-text" [translate]="item.translate">{{ item.title }}</span>
|
||||
<span class="hint-text" [translate]="item.translate">{{item.title}}</span>
|
||||
</div>
|
||||
|
||||
<div class="group-items">
|
||||
@@ -13,4 +13,4 @@
|
||||
</ng-container>
|
||||
</div>
|
||||
|
||||
</ng-container>
|
||||
</ng-container>
|
||||
|
||||
@@ -45,4 +45,4 @@
|
||||
</span>
|
||||
</ng-template>
|
||||
|
||||
</ng-container>
|
||||
</ng-container>
|
||||
|
||||
@@ -74,7 +74,7 @@
|
||||
}
|
||||
|
||||
.fuse-search-bar-collapser {
|
||||
display: flex;
|
||||
display: inline-block;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
@@ -23,10 +23,10 @@ export class FuseShortcutsComponent implements OnInit, AfterViewInit, OnDestroy
|
||||
@Input()
|
||||
navigation: any;
|
||||
|
||||
@ViewChild('searchInput', {static: false})
|
||||
@ViewChild('searchInput')
|
||||
searchInputField;
|
||||
|
||||
@ViewChild('shortcuts', {static: false})
|
||||
@ViewChild('shortcuts')
|
||||
shortcutsEl: ElementRef;
|
||||
|
||||
// Private
|
||||
|
||||
@@ -13,7 +13,7 @@ export class FuseModule
|
||||
}
|
||||
}
|
||||
|
||||
static forRoot(config): ModuleWithProviders
|
||||
static forRoot(config): ModuleWithProviders<FuseModule>
|
||||
{
|
||||
return {
|
||||
ngModule : FuseModule,
|
||||
|
||||
@@ -2,7 +2,7 @@
|
||||
// to the core Fuse and Angular Material mixins
|
||||
|
||||
// ngx-datatable
|
||||
@import '~@swimlane/ngx-datatable/release/themes/material';
|
||||
@import '~@swimlane/ngx-datatable/themes/material';
|
||||
|
||||
// Perfect scrollbar
|
||||
@import '~perfect-scrollbar/css/perfect-scrollbar';
|
||||
|
||||
@@ -48,11 +48,6 @@ button {
|
||||
font-size: 16px;
|
||||
}
|
||||
|
||||
.mat-pseudo-checkbox-checked:after {
|
||||
width: 14px !important;
|
||||
height: 7px !important;
|
||||
}
|
||||
|
||||
// Fix: "Input underlines has wrong color opacity value"
|
||||
.mat-form-field-underline {
|
||||
background-color: rgba(0, 0, 0, 0.12);
|
||||
@@ -118,4 +113,4 @@ mat-chip {
|
||||
// Fix: Mat-card-image requires a bigger width than 100%
|
||||
.mat-card-image {
|
||||
max-width: none !important;
|
||||
}
|
||||
}
|
||||
|
||||
@@ -144,7 +144,7 @@
|
||||
.datatable-footer-inner {
|
||||
padding: 0 24px;
|
||||
|
||||
@include media-breakpoint('sm') {
|
||||
@include media-breakpoint('lt-md') {
|
||||
flex-direction: column;
|
||||
padding: 16px 0;
|
||||
height: auto !important;
|
||||
@@ -166,7 +166,18 @@
|
||||
li {
|
||||
|
||||
a {
|
||||
display: flex;
|
||||
align-items: center;
|
||||
justify-content: center;
|
||||
text-decoration: none !important;
|
||||
|
||||
i {
|
||||
width: 20px;
|
||||
min-width: 20px;
|
||||
height: 20px;
|
||||
min-height: 20px;
|
||||
padding: 0;
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
@@ -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');
|
||||
* });
|
||||
*/
|
||||
|
||||
/**
|
||||
|
||||
@@ -7,7 +7,6 @@ import { MatMomentDateModule } from '@angular/material-moment-adapter';
|
||||
import { MatButtonModule } from '@angular/material/button';
|
||||
import { MatIconModule } from '@angular/material/icon';
|
||||
import { TranslateModule } from '@ngx-translate/core';
|
||||
import 'hammerjs';
|
||||
|
||||
import { FuseModule } from '@fuse/fuse.module';
|
||||
import { FuseSharedModule } from '@fuse/shared.module';
|
||||
|
||||
@@ -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>
|
||||
|
||||
@@ -1,4 +0,0 @@
|
||||
export const environment = {
|
||||
production: false,
|
||||
hmr : true
|
||||
};
|
||||
@@ -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">
|
||||
|
||||
|
||||
22
src/main.ts
22
src/main.ts
@@ -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.log(err));
|
||||
}
|
||||
platformBrowserDynamic().bootstrapModule(AppModule)
|
||||
.catch(err => console.error(err));
|
||||
|
||||
@@ -57,6 +57,7 @@ import 'web-animations-js'; // Run `npm install --save web-animations-js`.
|
||||
*/
|
||||
import 'zone.js/dist/zone'; // Included with Angular CLI.
|
||||
|
||||
|
||||
/***************************************************************************************************
|
||||
* APPLICATION IMPORTS
|
||||
*/
|
||||
|
||||
@@ -1,16 +1,16 @@
|
||||
{
|
||||
"extends": "./tsconfig.json",
|
||||
"extends": "./tsconfig.base.json",
|
||||
"compilerOptions": {
|
||||
"outDir": "./out-tsc/app",
|
||||
"types": [
|
||||
"node"
|
||||
]
|
||||
},
|
||||
"include": [
|
||||
"src/**/*.ts"
|
||||
"files": [
|
||||
"src/main.ts",
|
||||
"src/polyfills.ts"
|
||||
],
|
||||
"exclude": [
|
||||
"src/test.ts",
|
||||
"src/**/*.spec.ts"
|
||||
"include": [
|
||||
"src/**/*.d.ts"
|
||||
]
|
||||
}
|
||||
|
||||
31
tsconfig.base.json
Normal file
31
tsconfig.base.json
Normal file
@@ -0,0 +1,31 @@
|
||||
{
|
||||
"compileOnSave": false,
|
||||
"compilerOptions": {
|
||||
"baseUrl": "./src",
|
||||
"outDir": "./dist/out-tsc",
|
||||
"sourceMap": true,
|
||||
"declaration": false,
|
||||
"downlevelIteration": true,
|
||||
"experimentalDecorators": true,
|
||||
"module": "es2020",
|
||||
"moduleResolution": "node",
|
||||
"importHelpers": true,
|
||||
"target": "es2015",
|
||||
"typeRoots": [
|
||||
"node_modules/@types"
|
||||
],
|
||||
"lib": [
|
||||
"es2018",
|
||||
"dom"
|
||||
],
|
||||
"paths": {
|
||||
"@fuse": [
|
||||
"@fuse/"
|
||||
]
|
||||
}
|
||||
},
|
||||
"angularCompilerOptions": {
|
||||
"fullTemplateTypeCheck": false,
|
||||
"strictInjectionParameters": false
|
||||
}
|
||||
}
|
||||
@@ -1,27 +1,17 @@
|
||||
/*
|
||||
This is a "Solution Style" tsconfig.json file, and is used by editors and TypeScript’s language server to improve development experience.
|
||||
It is not intended to be used to perform a compilation.
|
||||
|
||||
To learn more about this file see: https://angular.io/config/solution-tsconfig.
|
||||
*/
|
||||
{
|
||||
"compileOnSave": false,
|
||||
"compilerOptions": {
|
||||
"baseUrl": "./src",
|
||||
"outDir": "./dist/out-tsc",
|
||||
"sourceMap": true,
|
||||
"declaration": false,
|
||||
"module": "esnext",
|
||||
"moduleResolution": "node",
|
||||
"emitDecoratorMetadata": true,
|
||||
"experimentalDecorators": true,
|
||||
"importHelpers": true,
|
||||
"target": "es2015",
|
||||
"typeRoots": [
|
||||
"node_modules/@types"
|
||||
],
|
||||
"lib": [
|
||||
"es2018",
|
||||
"dom"
|
||||
],
|
||||
"paths": {
|
||||
"@fuse": [
|
||||
"@fuse/"
|
||||
]
|
||||
"files": [],
|
||||
"references": [
|
||||
{
|
||||
"path": "./tsconfig.app.json"
|
||||
},
|
||||
{
|
||||
"path": "./tsconfig.spec.json"
|
||||
}
|
||||
}
|
||||
]
|
||||
}
|
||||
|
||||
@@ -1,5 +1,5 @@
|
||||
{
|
||||
"extends": "./tsconfig.json",
|
||||
"extends": "./tsconfig.base.json",
|
||||
"compilerOptions": {
|
||||
"outDir": "./out-tsc/spec",
|
||||
"types": [
|
||||
|
||||
61
tslint.json
61
tslint.json
@@ -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": "warn"
|
||||
"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"
|
||||
|
||||
Reference in New Issue
Block a user