mirror of https://github.com/abpframework/abp.git
committed by
GitHub
65 changed files with 2249 additions and 2077 deletions
@ -0,0 +1,339 @@ |
|||
.ui-table { |
|||
position: relative; |
|||
|
|||
.ui-table-tbody > tr:nth-child(even):hover, |
|||
.ui-table-tbody > tr:hover { |
|||
filter: brightness(90%); |
|||
} |
|||
|
|||
.ui-table-tbody > tr.empty-row:hover { |
|||
filter: none; |
|||
} |
|||
|
|||
.ui-table-tbody > tr.empty-row > div.empty-row-content { |
|||
padding: 10px; |
|||
text-align: center; |
|||
} |
|||
|
|||
.ui-table-caption, |
|||
.ui-table-summary { |
|||
background-color: #f4f4f4; |
|||
color: #333333; |
|||
border: 1px solid #c8c8c8; |
|||
padding: 0.571em 1em; |
|||
text-align: center; |
|||
} |
|||
.ui-table-caption { |
|||
border-bottom: 0 none; |
|||
font-weight: 700; |
|||
} |
|||
.ui-table-summary { |
|||
border-top: 0 none; |
|||
font-weight: 700; |
|||
} |
|||
.ui-table-thead > tr > th { |
|||
padding: 0.571em 0.857em; |
|||
border: 1px solid #c8c8c8; |
|||
font-weight: 700; |
|||
color: #333333; |
|||
background-color: #f4f4f4; |
|||
} |
|||
.ui-table-tbody > tr > td { |
|||
padding: 0.571em 0.857em; |
|||
} |
|||
.ui-table-tfoot > tr > td { |
|||
padding: 0.571em 0.857em; |
|||
border: 1px solid #c8c8c8; |
|||
font-weight: 700; |
|||
color: #333333; |
|||
background-color: #ffffff; |
|||
} |
|||
.ui-sortable-column { |
|||
-moz-transition: box-shadow 0.2s; |
|||
-o-transition: box-shadow 0.2s; |
|||
-webkit-transition: box-shadow 0.2s; |
|||
transition: box-shadow 0.2s; |
|||
} |
|||
.ui-sortable-column:focus { |
|||
outline: 0 none; |
|||
outline-offset: 0; |
|||
-webkit-box-shadow: inset 0 0 0 0.2em #8dcdff; |
|||
-moz-box-shadow: inset 0 0 0 0.2em #8dcdff; |
|||
box-shadow: inset 0 0 0 0.2em #8dcdff; |
|||
} |
|||
.ui-sortable-column .ui-sortable-column-icon { |
|||
color: #848484; |
|||
} |
|||
.ui-sortable-column:not(.ui-state-highlight):hover { |
|||
background-color: #e0e0e0; |
|||
color: #333333; |
|||
} |
|||
.ui-sortable-column:not(.ui-state-highlight):hover .ui-sortable-column-icon { |
|||
color: #333333; |
|||
} |
|||
.ui-sortable-column.ui-state-highlight { |
|||
background-color: #007ad9; |
|||
color: #ffffff; |
|||
} |
|||
.ui-sortable-column.ui-state-highlight .ui-sortable-column-icon { |
|||
color: #ffffff; |
|||
} |
|||
.ui-editable-column input { |
|||
font-size: 14px; |
|||
font-family: 'Open Sans', 'Helvetica Neue', sans-serif; |
|||
} |
|||
.ui-editable-column input:focus { |
|||
outline: 1px solid #007ad9; |
|||
outline-offset: 2px; |
|||
} |
|||
.ui-table-tbody > tr { |
|||
background-color: #ffffff; |
|||
color: #333333; |
|||
} |
|||
.ui-table-tbody > tr > td { |
|||
background-color: inherit; |
|||
border: 1px solid #c8c8c8; |
|||
} |
|||
.ui-table-tbody > tr.ui-state-highlight { |
|||
background-color: #007ad9; |
|||
color: #ffffff; |
|||
} |
|||
.ui-table-tbody > tr.ui-state-highlight a { |
|||
color: #ffffff; |
|||
} |
|||
.ui-table-tbody > tr.ui-contextmenu-selected { |
|||
background-color: #007ad9; |
|||
color: #ffffff; |
|||
} |
|||
.ui-table-tbody > tr.ui-table-dragpoint-top > td { |
|||
-webkit-box-shadow: inset 0 2px 0 0 #007ad9; |
|||
-moz-box-shadow: inset 0 2px 0 0 #007ad9; |
|||
box-shadow: inset 0 2px 0 0 #007ad9; |
|||
} |
|||
.ui-table-tbody > tr.ui-table-dragpoint-bottom > td { |
|||
-webkit-box-shadow: inset 0 -2px 0 0 #007ad9; |
|||
-moz-box-shadow: inset 0 -2px 0 0 #007ad9; |
|||
box-shadow: inset 0 -2px 0 0 #007ad9; |
|||
} |
|||
.ui-table-tbody > tr:nth-child(even) { |
|||
background-color: #f9f9f9; |
|||
} |
|||
.ui-table-tbody > tr:nth-child(even).ui-state-highlight { |
|||
background-color: #007ad9; |
|||
color: #ffffff; |
|||
} |
|||
.ui-table-tbody > tr:nth-child(even).ui-state-highlight a { |
|||
color: #ffffff; |
|||
} |
|||
.ui-table-tbody > tr:nth-child(even).ui-contextmenu-selected { |
|||
background-color: #007ad9; |
|||
color: #ffffff; |
|||
} |
|||
|
|||
&.ui-table-hoverable-rows |
|||
.ui-table-tbody |
|||
> tr.ui-selectable-row:not(.ui-state-highlight):not(.ui-contextmenu-selected):hover { |
|||
cursor: pointer; |
|||
background-color: #eaeaea; |
|||
color: #333333; |
|||
} |
|||
.ui-column-resizer-helper { |
|||
background-color: #007ad9; |
|||
} |
|||
@media screen and (max-width: 40em) { |
|||
&.ui-table-responsive .ui-table-tbody > tr > td { |
|||
border: 0 none; |
|||
} |
|||
} |
|||
|
|||
table { |
|||
border-collapse: collapse; |
|||
width: 100%; |
|||
table-layout: fixed; |
|||
} |
|||
|
|||
.ui-table-tbody > tr > td, |
|||
.ui-table-tfoot > tr > td, |
|||
.ui-table-thead > tr > th { |
|||
padding: 0.571em 0.857em; |
|||
} |
|||
|
|||
.ui-sortable-column { |
|||
cursor: pointer; |
|||
} |
|||
|
|||
p-sorticon { |
|||
vertical-align: middle; |
|||
} |
|||
|
|||
.ui-table-auto-layout > .ui-table-wrapper { |
|||
overflow-x: auto; |
|||
} |
|||
|
|||
.ui-table-auto-layout > .ui-table-wrapper > table { |
|||
table-layout: auto; |
|||
} |
|||
|
|||
.ui-table-caption, |
|||
.ui-table-summary { |
|||
padding: 0.25em 0.5em; |
|||
text-align: center; |
|||
font-weight: 700; |
|||
} |
|||
|
|||
.ui-table-caption { |
|||
border-bottom: 0; |
|||
} |
|||
|
|||
.ui-table-summary { |
|||
border-top: 0; |
|||
} |
|||
|
|||
.ui-table-scrollable-wrapper { |
|||
position: relative; |
|||
} |
|||
|
|||
.ui-table-scrollable-footer, |
|||
.ui-table-scrollable-header { |
|||
overflow: hidden; |
|||
border: 0; |
|||
} |
|||
|
|||
.ui-table-scrollable-body { |
|||
overflow: auto; |
|||
position: relative; |
|||
} |
|||
|
|||
.ui-table-virtual-table { |
|||
position: absolute; |
|||
} |
|||
|
|||
.ui-table-loading-virtual-table { |
|||
display: none; |
|||
} |
|||
|
|||
.ui-table-frozen-view .ui-table-scrollable-body { |
|||
overflow: hidden; |
|||
} |
|||
|
|||
.ui-table-frozen-view > .ui-table-scrollable-body > table > .ui-table-tbody > tr > td:last-child { |
|||
border-right: 0; |
|||
} |
|||
|
|||
.ui-table-unfrozen-view { |
|||
position: absolute; |
|||
top: 0; |
|||
} |
|||
|
|||
.ui-table-resizable > .ui-table-wrapper { |
|||
overflow-x: auto; |
|||
} |
|||
|
|||
.ui-table-resizable .ui-table-tbody > tr > td, |
|||
.ui-table-resizable .ui-table-tfoot > tr > td, |
|||
.ui-table-resizable .ui-table-thead > tr > th { |
|||
overflow: hidden; |
|||
} |
|||
|
|||
.ui-table-resizable .ui-resizable-column { |
|||
background-clip: padding-box; |
|||
position: relative; |
|||
} |
|||
|
|||
.ui-table-resizable-fit .ui-resizable-column:last-child .ui-column-resizer { |
|||
display: none; |
|||
} |
|||
|
|||
.ui-column-resizer { |
|||
display: block; |
|||
position: absolute !important; |
|||
top: 0; |
|||
right: 0; |
|||
margin: 0; |
|||
width: 0.5em; |
|||
height: 100%; |
|||
padding: 0; |
|||
cursor: col-resize; |
|||
border: 1px solid rgba(0, 0, 0, 0); |
|||
} |
|||
|
|||
.ui-column-resizer-helper { |
|||
width: 1px; |
|||
position: absolute; |
|||
z-index: 10; |
|||
display: none; |
|||
} |
|||
|
|||
.ui-table-tbody > tr > td.ui-editing-cell { |
|||
padding: 0; |
|||
} |
|||
|
|||
.ui-table-tbody > tr > td.ui-editing-cell p-celleditor > * { |
|||
width: 100%; |
|||
} |
|||
|
|||
.ui-table-reorder-indicator-down, |
|||
.ui-table-reorder-indicator-up { |
|||
position: absolute; |
|||
display: none; |
|||
} |
|||
|
|||
.ui-table-responsive .ui-table-tbody > tr > td .ui-column-title { |
|||
display: none; |
|||
} |
|||
|
|||
@media screen and (max-width: 40em) { |
|||
.ui-table-responsive .ui-table-tfoot > tr > td, |
|||
.ui-table-responsive .ui-table-thead > tr > th, |
|||
.ui-table-responsive colgroup { |
|||
display: none !important; |
|||
} |
|||
.ui-table-responsive .ui-table-tbody > tr > td { |
|||
text-align: left; |
|||
display: block; |
|||
border: 0; |
|||
width: 100% !important; |
|||
box-sizing: border-box; |
|||
float: left; |
|||
clear: left; |
|||
} |
|||
.ui-table-responsive .ui-table-tbody > tr > td .ui-column-title { |
|||
padding: 0.4em; |
|||
min-width: 30%; |
|||
display: inline-block; |
|||
margin: -0.4em 1em -0.4em -0.4em; |
|||
font-weight: 700; |
|||
} |
|||
} |
|||
|
|||
.ui-widget { |
|||
font-family: 'Open Sans', 'Helvetica Neue', sans-serif; |
|||
font-size: 14px; |
|||
text-decoration: none; |
|||
} |
|||
|
|||
.page-item.disabled .page-link, |
|||
.page-link { |
|||
background-color: transparent; |
|||
border: none; |
|||
} |
|||
|
|||
.page-item.disabled .page-link { |
|||
box-shadow: none; |
|||
} |
|||
|
|||
.pagination { |
|||
margin-bottom: 0; |
|||
} |
|||
|
|||
.pagination-wrapper { |
|||
display: flex; |
|||
justify-content: center; |
|||
border-top: 0; |
|||
padding: 0; |
|||
} |
|||
|
|||
.op-0 { |
|||
opacity: 0; |
|||
} |
|||
} |
|||
@ -1,63 +0,0 @@ |
|||
import { createHostFactory, SpectatorHost } from '@ngneat/spectator/jest'; |
|||
import { PaginationComponent } from '../components'; |
|||
|
|||
describe('PaginationComponent', () => { |
|||
let spectator: SpectatorHost<PaginationComponent>; |
|||
const createHost = createHostFactory({ |
|||
component: PaginationComponent, |
|||
}); |
|||
|
|||
beforeEach(() => { |
|||
spectator = createHost( |
|||
'<abp-pagination [totalPages]="totalPages" [value]="value"></abp-pagination>', |
|||
{ |
|||
hostProps: { |
|||
value: 5, |
|||
totalPages: 12, |
|||
}, |
|||
}, |
|||
); |
|||
}); |
|||
|
|||
it('should add ui-state-active class to current page', () => { |
|||
expect(spectator.query('.ui-state-active').textContent).toBe('5'); |
|||
}); |
|||
|
|||
it('should display the correct pages', () => { |
|||
expect(spectator.queryAll('.ui-paginator-page').map(node => node.textContent)).toEqual([ |
|||
'3', |
|||
'4', |
|||
'5', |
|||
'6', |
|||
'7', |
|||
]); |
|||
|
|||
spectator.click('.ui-paginator-first'); |
|||
|
|||
expect(spectator.queryAll('.ui-paginator-page').map(node => node.textContent)).toEqual([ |
|||
'1', |
|||
'2', |
|||
'3', |
|||
'4', |
|||
'5', |
|||
]); |
|||
|
|||
spectator.setHostInput({ value: 12 }); |
|||
|
|||
expect(spectator.queryAll('.ui-paginator-page').map(node => node.textContent)).toEqual([ |
|||
'8', |
|||
'9', |
|||
'10', |
|||
'11', |
|||
'12', |
|||
]); |
|||
|
|||
spectator.setHostInput({ value: 1, totalPages: 3 }); |
|||
|
|||
expect(spectator.queryAll('.ui-paginator-page').map(node => node.textContent)).toEqual([ |
|||
'1', |
|||
'2', |
|||
'3', |
|||
]); |
|||
}); |
|||
}); |
|||
File diff suppressed because it is too large
@ -0,0 +1,4 @@ |
|||
{ |
|||
"singleQuote": true, |
|||
"printWidth": 100 |
|||
} |
|||
@ -0,0 +1,8 @@ |
|||
{ |
|||
"recommendations": [ |
|||
"angular.ng-template", |
|||
"esbenp.prettier-vscode", |
|||
"ms-vscode.vscode-typescript-tslint-plugin", |
|||
"visualstudioexptteam.vscodeintellicode" |
|||
] |
|||
} |
|||
@ -1,11 +1,11 @@ |
|||
import { browser, by, element } from 'protractor'; |
|||
|
|||
export class AppPage { |
|||
navigateTo() { |
|||
return browser.get(browser.baseUrl) as Promise<any>; |
|||
navigateTo(): Promise<unknown> { |
|||
return browser.get(browser.baseUrl) as Promise<unknown>; |
|||
} |
|||
|
|||
getTitleText() { |
|||
return element(by.css('app-root h1')).getText() as Promise<string>; |
|||
getTitleText(): Promise<string> { |
|||
return element(by.css('app-root .content span')).getText() as Promise<string>; |
|||
} |
|||
} |
|||
|
|||
@ -1,58 +1,54 @@ |
|||
{ |
|||
"name": "MyProjectName", |
|||
"name": "ng9-abp", |
|||
"version": "0.0.0", |
|||
"scripts": { |
|||
"ng": "ng", |
|||
"start": "ng serve", |
|||
"start:hmr": "ng serve --configuration hmr", |
|||
"build": "ng build", |
|||
"build:prod": "ng build --prod", |
|||
"test": "ng test", |
|||
"lint": "ng lint", |
|||
"e2e": "ng e2e" |
|||
}, |
|||
"private": true, |
|||
"dependencies": { |
|||
"@abp/ng.account": "^2.1.0", |
|||
"@abp/ng.identity": "^2.1.0", |
|||
"@abp/ng.setting-management": "^2.1.0", |
|||
"@abp/ng.tenant-management": "^2.1.0", |
|||
"@abp/ng.theme.basic": "^2.1.0", |
|||
"@angular/animations": "~8.2.14", |
|||
"@angular/common": "~8.2.14", |
|||
"@angular/compiler": "~8.2.14", |
|||
"@angular/core": "~8.2.14", |
|||
"@angular/forms": "~8.2.14", |
|||
"@angular/platform-browser": "~8.2.14", |
|||
"@angular/platform-browser-dynamic": "~8.2.14", |
|||
"@angular/router": "~8.2.14", |
|||
"rxjs": "~6.4.0", |
|||
"@abp/ng.account": "~2.1.0", |
|||
"@abp/ng.identity": "~2.1.0", |
|||
"@abp/ng.setting-management": "~2.1.0", |
|||
"@abp/ng.tenant-management": "~2.1.0", |
|||
"@abp/ng.theme.basic": "~2.1.0", |
|||
"@angular/animations": "~9.0.2", |
|||
"@angular/common": "~9.0.2", |
|||
"@angular/compiler": "~9.0.2", |
|||
"@angular/core": "~9.0.2", |
|||
"@angular/forms": "~9.0.2", |
|||
"@angular/platform-browser": "~9.0.2", |
|||
"@angular/platform-browser-dynamic": "~9.0.2", |
|||
"@angular/router": "~9.0.2", |
|||
"rxjs": "~6.5.4", |
|||
"tslib": "^1.10.0", |
|||
"zone.js": "~0.9.1" |
|||
"zone.js": "~0.10.2" |
|||
}, |
|||
"devDependencies": { |
|||
"@angular-devkit/build-angular": "~0.803.20", |
|||
"@angular/cli": "~8.3.20", |
|||
"@angular/compiler-cli": "~8.2.14", |
|||
"@angular/language-service": "~8.2.14", |
|||
"@angularclass/hmr": "^2.1.3", |
|||
"@ngxs/hmr-plugin": "^3.5.1", |
|||
"@ngxs/logger-plugin": "^3.5.1", |
|||
"@types/jasmine": "~3.3.8", |
|||
"@angular-devkit/build-angular": "~0.900.3", |
|||
"@angular/cli": "~9.0.3", |
|||
"@angular/compiler-cli": "~9.0.2", |
|||
"@angular/language-service": "~9.0.2", |
|||
"@ngxs/logger-plugin": "^3.6.2", |
|||
"@types/jasmine": "~3.5.0", |
|||
"@types/jasminewd2": "~2.0.3", |
|||
"@types/node": "~8.9.4", |
|||
"codelyzer": "^5.0.0", |
|||
"jasmine-core": "~3.4.0", |
|||
"@types/node": "^12.11.1", |
|||
"codelyzer": "^5.1.2", |
|||
"jasmine-core": "~3.5.0", |
|||
"jasmine-spec-reporter": "~4.2.1", |
|||
"karma": "~4.1.0", |
|||
"karma-chrome-launcher": "~2.2.0", |
|||
"karma-coverage-istanbul-reporter": "~2.0.1", |
|||
"karma": "~4.3.0", |
|||
"karma-chrome-launcher": "~3.1.0", |
|||
"karma-coverage-istanbul-reporter": "~2.1.0", |
|||
"karma-jasmine": "~2.0.1", |
|||
"karma-jasmine-html-reporter": "^1.4.0", |
|||
"karma-jasmine-html-reporter": "^1.4.2", |
|||
"ngxs-schematic": "^1.1.9", |
|||
"protractor": "~5.4.0", |
|||
"ts-node": "~7.0.0", |
|||
"tslint": "~5.15.0", |
|||
"typescript": "~3.5.3" |
|||
"protractor": "~5.4.3", |
|||
"ts-node": "~8.3.0", |
|||
"tslint": "~5.18.0", |
|||
"typescript": "~3.7.5" |
|||
} |
|||
} |
|||
|
|||
@ -1,68 +0,0 @@ |
|||
import { LazyLoadService } from '@abp/ng.core'; |
|||
import { ComponentFixture, TestBed } from '@angular/core/testing'; |
|||
import { RouterTestingModule } from '@angular/router/testing'; |
|||
import { NgxsModule } from '@ngxs/store'; |
|||
import { OAuthService } from 'angular-oauth2-oidc'; |
|||
import { AppComponent } from './app.component'; |
|||
import { LoaderBarComponent } from '@abp/ng.theme.shared'; |
|||
import { Subject, Observable } from 'rxjs'; |
|||
import { Component } from '@angular/core'; |
|||
import { By } from '@angular/platform-browser'; |
|||
|
|||
@Component({ |
|||
template: '', |
|||
selector: 'abp-loader-bar', |
|||
}) |
|||
class DummyLoaderBarComponent {} |
|||
|
|||
describe('AppComponent', () => { |
|||
let component: AppComponent; |
|||
let fixture: ComponentFixture<AppComponent>; |
|||
let mockLazyLoadService: { load: () => Observable<void> }; |
|||
let loadResponse$: Subject<void>; |
|||
let spy: jasmine.Spy<() => Observable<void>>; |
|||
|
|||
beforeEach(() => { |
|||
TestBed.configureTestingModule({ |
|||
imports: [RouterTestingModule], |
|||
declarations: [AppComponent, DummyLoaderBarComponent], |
|||
providers: [{ provide: LazyLoadService, useValue: { load: () => loadResponse$ } }], |
|||
}); |
|||
loadResponse$ = new Subject(); |
|||
fixture = TestBed.createComponent(AppComponent); |
|||
component = fixture.componentInstance; |
|||
mockLazyLoadService = TestBed.get(LazyLoadService); |
|||
spy = spyOn(mockLazyLoadService, 'load'); |
|||
spy.and.returnValue(loadResponse$); |
|||
fixture.detectChanges(); |
|||
}); |
|||
|
|||
describe('LazyLoadService load method', () => { |
|||
it('should call', () => { |
|||
expect(spy).toHaveBeenCalledWith( |
|||
[ |
|||
'primeng.min.css', |
|||
'primeicons.css', |
|||
'primeng-nova-light-theme.css', |
|||
'fontawesome-all.min.css', |
|||
'fontawesome-v4-shims.min.css', |
|||
], |
|||
'style', |
|||
null, |
|||
'head', |
|||
); |
|||
}); |
|||
}); |
|||
|
|||
describe('template', () => { |
|||
it('should have the abp-loader-bar', () => { |
|||
const abpLoader = fixture.debugElement.query(By.css('abp-loader-bar')); |
|||
expect(abpLoader).toBeTruthy(); |
|||
}); |
|||
|
|||
it('should have router-outlet', () => { |
|||
const abpLoader = fixture.debugElement.query(By.css('router-outlet')); |
|||
expect(abpLoader).toBeTruthy(); |
|||
}); |
|||
}); |
|||
}); |
|||
@ -1,51 +0,0 @@ |
|||
import { ComponentFixture, TestBed } from '@angular/core/testing'; |
|||
import { OAuthService } from 'angular-oauth2-oidc'; |
|||
import { HomeComponent } from './home.component'; |
|||
import { HomeModule } from './home.module'; |
|||
import { RouterTestingModule } from '@angular/router/testing'; |
|||
import { NgxsModule } from '@ngxs/store'; |
|||
import { By } from '@angular/platform-browser'; |
|||
|
|||
describe('HomeComponent', () => { |
|||
let component: HomeComponent; |
|||
let fixture: ComponentFixture<HomeComponent>; |
|||
let mockOAuthService: { hasValidAccessToken: () => boolean }; |
|||
|
|||
beforeEach(() => { |
|||
TestBed.configureTestingModule({ |
|||
imports: [ NgxsModule.forRoot(), HomeModule, RouterTestingModule], |
|||
providers: [{ provide: OAuthService, useValue: { hasValidAccessToken: () => false } }], |
|||
}); |
|||
fixture = TestBed.createComponent(HomeComponent); |
|||
component = fixture.componentInstance; |
|||
mockOAuthService = TestBed.get(OAuthService); |
|||
fixture.detectChanges(); |
|||
}); |
|||
|
|||
describe('#hasLoggedIn', () => { |
|||
it('should return the hasValidAccessToken method of oAuthService', () => { |
|||
const spy = spyOn(mockOAuthService, 'hasValidAccessToken'); |
|||
spy.and.returnValue(false); |
|||
|
|||
expect(component.hasLoggedIn).toBe(false); |
|||
expect(spy).toHaveBeenCalled(); |
|||
}); |
|||
}); |
|||
|
|||
describe('login button', () => { |
|||
it('should display', () => { |
|||
const button = fixture.debugElement.query(By.css('[routerLink="/account/login"]')); |
|||
expect(button).toBeTruthy(); |
|||
expect(button.nativeElement.textContent).toContain('AbpAccount::Login'); |
|||
}); |
|||
|
|||
it('should not display when user logged in', () => { |
|||
const spy = spyOn(mockOAuthService, 'hasValidAccessToken'); |
|||
spy.and.returnValue(true); |
|||
fixture.detectChanges(); |
|||
|
|||
const button = fixture.debugElement.query(By.css('#login-button')); |
|||
expect(button).toBeFalsy(); |
|||
}); |
|||
}); |
|||
}); |
|||
@ -1,7 +0,0 @@ |
|||
import { NgModule } from '@angular/core'; |
|||
import { AccountModule } from '@abp/ng.account'; |
|||
|
|||
@NgModule({ |
|||
imports: [AccountModule], |
|||
}) |
|||
export class AccountWrapperModule {} |
|||
@ -1,7 +0,0 @@ |
|||
import { NgModule } from '@angular/core'; |
|||
import { IdentityModule } from '@abp/ng.identity'; |
|||
|
|||
@NgModule({ |
|||
imports: [IdentityModule], |
|||
}) |
|||
export class IdentityWrapperModule {} |
|||
@ -1,7 +0,0 @@ |
|||
import { NgModule } from '@angular/core'; |
|||
import { SettingManagementModule } from '@abp/ng.setting-management'; |
|||
|
|||
@NgModule({ |
|||
imports: [SettingManagementModule], |
|||
}) |
|||
export class SettingManagementWrapperModule {} |
|||
@ -1,7 +0,0 @@ |
|||
import { NgModule } from '@angular/core'; |
|||
import { TenantManagementModule } from '@abp/ng.tenant-management'; |
|||
|
|||
@NgModule({ |
|||
imports: [TenantManagementModule], |
|||
}) |
|||
export class TenantManagementWrapperModule {} |
|||
@ -1,25 +0,0 @@ |
|||
export const environment = { |
|||
production: false, |
|||
hmr: true, |
|||
application: { |
|||
name: 'MyProjectName', |
|||
logoUrl: '', |
|||
}, |
|||
oAuthConfig: { |
|||
issuer: 'https://localhost:44305', |
|||
clientId: 'MyProjectName_App', |
|||
dummyClientSecret: '1q2w3e*', |
|||
scope: 'MyProjectName', |
|||
showDebugInformation: true, |
|||
oidc: false, |
|||
requireHttps: true, |
|||
}, |
|||
apis: { |
|||
default: { |
|||
url: 'https://localhost:44305', |
|||
}, |
|||
}, |
|||
localization: { |
|||
defaultResourceName: 'MyProjectName', |
|||
}, |
|||
}; |
|||
@ -1,20 +1,13 @@ |
|||
import { enableProdMode } from '@angular/core'; |
|||
import { platformBrowserDynamic } from '@angular/platform-browser-dynamic'; |
|||
import { BootstrapModuleFn as Bootstrap, hmr, WebpackModule } from '@ngxs/hmr-plugin'; |
|||
|
|||
import { AppModule } from './app/app.module'; |
|||
import { environment } from './environments/environment'; |
|||
|
|||
declare const module: WebpackModule; |
|||
|
|||
if (environment.production) { |
|||
enableProdMode(); |
|||
} |
|||
|
|||
const bootstrap: Bootstrap = () => platformBrowserDynamic().bootstrapModule(AppModule); |
|||
|
|||
if (environment.hmr) { |
|||
hmr(module, bootstrap).catch(err => console.error(err)); |
|||
} else { |
|||
bootstrap().catch(err => console.log(err)); |
|||
} |
|||
platformBrowserDynamic() |
|||
.bootstrapModule(AppModule) |
|||
.catch(err => console.error(err)); |
|||
|
|||
Loading…
Reference in new issue