UNPKG

@delon/cli

Version:
228 lines (218 loc) 5.79 kB
<% 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 @NgModule({ 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( @Optional() @SkipSelf() parentModule: DelonModule) { throwIfAlreadyLoaded(parentModule, 'DelonModule'); } static forRoot(): ModuleWithProviders { return { ngModule: DelonModule, providers: [ // TIPS:@delon/abc 有大量的全局配置信息,例如设置所有 `simple-table` 的页码默认为 `20` 行 // { provide: SimpleTableConfig, useFactory: simpleTableConfig } ] }; } }