@delon/cli
Version:
Schematics for ng-alain
228 lines (218 loc) • 5.79 kB
text/typescript
<% delonMock ? '' : '' %>/**
* 进一步对基础模块的导入提炼
* 有关模块注册指导原则请参考:https://github.com/cipchk/ng-alain/issues/180
*/
import { NgModule, Optional, SkipSelf, ModuleWithProviders } from '@angular/core';
import { throwIfAlreadyLoaded } from '@core/module-import-guard';
<% if (delonMock) { %>
// mock
import { DelonMockModule } from '@delon/mock';
import * as MOCKDATA from '../../_mock';
import { environment } from '@env/environment';
const MOCKMODULE = !environment.production || environment.chore === true ?
[ DelonMockModule.forRoot({ data: MOCKDATA }) ] : [];<% } %>
// region: zorro modules
import {
// LoggerModule,
// NzLocaleModule,
NzButtonModule,
NzAlertModule,
NzBadgeModule,
// NzCalendarModule,
NzCascaderModule,
NzCheckboxModule,
NzDatePickerModule,
NzFormModule,
NzInputModule,
NzInputNumberModule,
NzGridModule,
NzMessageModule,
NzModalModule,
NzNotificationModule,
NzPaginationModule,
NzPopconfirmModule,
NzPopoverModule,
NzRadioModule,
NzRateModule,
NzSelectModule,
NzSpinModule,
NzSliderModule,
NzSwitchModule,
NzProgressModule,
NzTableModule,
NzTabsModule,
NzTagModule,
NzTimePickerModule,
NzUtilModule,
NzStepsModule,
NzDropDownModule,
NzMenuModule,
NzBreadCrumbModule,
NzLayoutModule,
NzRootModule,
NzCarouselModule,
// NzCardModule,
NzCollapseModule,
NzTimelineModule,
NzToolTipModule,
// NzBackTopModule,
// NzAffixModule,
// NzAnchorModule,
NzAvatarModule,
// SERVICES
NzNotificationService,
NzMessageService
} from 'ng-zorro-antd';
export const ZORROMODULES = [
// LoggerModule,
// NzLocaleModule,
NzButtonModule,
NzAlertModule,
NzBadgeModule,
// NzCalendarModule,
NzCascaderModule,
NzCheckboxModule,
NzDatePickerModule,
NzFormModule,
NzInputModule,
NzInputNumberModule,
NzGridModule,
NzMessageModule,
NzModalModule,
NzNotificationModule,
NzPaginationModule,
NzPopconfirmModule,
NzPopoverModule,
NzRadioModule,
NzRateModule,
NzSelectModule,
NzSpinModule,
NzSliderModule,
NzSwitchModule,
NzProgressModule,
NzTableModule,
NzTabsModule,
NzTagModule,
NzTimePickerModule,
NzUtilModule,
NzStepsModule,
NzDropDownModule,
NzMenuModule,
NzBreadCrumbModule,
NzLayoutModule,
NzRootModule,
NzCarouselModule,
// NzCardModule,
NzCollapseModule,
NzTimelineModule,
NzToolTipModule,
// NzBackTopModule,
// NzAffixModule,
// NzAnchorModule,
NzAvatarModule
];
// endregion
// region: @delon/abc modules
import {
AdSimpleTableModule,
// AdReuseTabModule,
AdAvatarListModule,
AdChartsModule,
AdCountDownModule,
AdDescListModule,
AdEllipsisModule,
AdErrorCollectModule,
AdExceptionModule,
AdFooterToolbarModule,
AdGlobalFooterModule,
AdNoticeIconModule,
AdNumberInfoModule,
AdProHeaderModule,
AdResultModule,
AdSidebarNavModule,
AdStandardFormRowModule,
AdTagSelectModule,
AdTrendModule,
AdDownFileModule,
AdImageModule,
AdUtilsModule,
AdFullContentModule,
AdXlsxModule,
AdZipModule
} from '@delon/abc';
export const ABCMODULES = [
AdSimpleTableModule,
// AdReuseTabModule,
AdAvatarListModule,
AdChartsModule,
AdCountDownModule,
AdDescListModule,
AdEllipsisModule,
AdErrorCollectModule,
AdExceptionModule,
AdFooterToolbarModule,
AdGlobalFooterModule,
AdNoticeIconModule,
AdNumberInfoModule,
AdProHeaderModule,
AdResultModule,
AdSidebarNavModule,
AdStandardFormRowModule,
AdTagSelectModule,
AdTrendModule,
AdDownFileModule,
AdImageModule,
AdUtilsModule,
AdFullContentModule,
AdXlsxModule,
AdZipModule
];
// endregion
import { NgZorroAntdModule } from 'ng-zorro-antd';
import { NgZorroAntdExtraModule } from 'ng-zorro-antd-extra';
import { AlainThemeModule } from '@delon/theme';
import { AlainABCModule } from '@delon/abc';
import { AlainAuthModule } from '@delon/auth';
import { AlainACLModule } from '@delon/acl';
import { DelonCacheModule } from '@delon/cache';
// region: global config functions
// import { SimpleTableConfig } from '@delon/abc';
// export function simpleTableConfig(): SimpleTableConfig {
// return { ps: 20 };
// }
// endregion
({
imports: [
NgZorroAntdModule.forRoot(),
NgZorroAntdExtraModule.forRoot(),
// theme
AlainThemeModule.forRoot(),
// abc
AlainABCModule.forRoot(),
// auth
AlainAuthModule.forRoot({
// ignores: [ `\\/login`, `assets\\/` ],
login_url: `/passport/login`
}),
// acl
AlainACLModule.forRoot(),
// cache
DelonCacheModule.forRoot()<% if (delonMock) { %>,
// mock
...MOCKMODULE <% } %>
]
})
export class DelonModule {
constructor( parentModule: DelonModule) {
() () throwIfAlreadyLoaded(parentModule, 'DelonModule');
}
static forRoot(): ModuleWithProviders {
return {
ngModule: DelonModule,
providers: [
// TIPS:@delon/abc 有大量的全局配置信息,例如设置所有 `simple-table` 的页码默认为 `20` 行
// { provide: SimpleTableConfig, useFactory: simpleTableConfig }
]
};
}
}