RSS Git Download  Clone
Raw Blame History
import {
    NgModule,
    ModuleWithProviders,
} from '@angular/core';



import {RouterModule} from '@angular/router';

import { HTTP_INTERCEPTORS, provideHttpClient, withInterceptorsFromDi } from '@angular/common/http';


import {Boot} from './boot';

//import {JsonPipe} from '../src-save/pipe/json'
//import {KeysPipe} from '../src-save/pipe/keys'
//import {HtmlPipe} from '../src-save/pipe/html'

//import {HttpShareService} from './services/http/http-share'
//import {AuthInterceptor} from './services/http/auth-interceptor'

import {CookieService} from './services/cookie'
import {RouterService} from './services/router'
import {SettingsService} from './services/settings'
import {LocaleService} from './services/locale'
import {MediaQueryService} from './services/media-query'
import {CommonModule} from "@angular/common";
//import {IpInfoService} from './modules/ip-info'
//import {AuthService,} from './modules/auth'


//import {FocusDirective} from '../src-save/directive/autofocus'

/***
 * NEVER USE A EXPORT * AS, NEED THE EXACT COMPONENT FOR INJECTABLE FUNCTION!!!!
 */

let booted = false

@NgModule({ 
    // export
    declarations: [
    //        KeysPipe,
    //        HtmlPipe,
    //        JsonPipe,
    //        SubmittedRequired,
    //        FocusDirective
    ],
    exports: [
        RouterModule,
        //      KeysPipe,
        //      HtmlPipe,
        //      JsonPipe,
        //      FocusDirective
        //      SubmittedRequired,
    ], imports: [RouterModule,
        CommonModule], providers: [
        RouterService,
        CookieService,
        SettingsService,
        LocaleService,
        MediaQueryService,
        //        HttpShareService,
        // modules
        //        IpInfoService,
        //        AuthService,
        /*
        {
            provide: HTTP_INTERCEPTORS,
            useClass: AuthInterceptor,
            multi: true
        },
         */
        // order is important
        Boot,
        provideHttpClient(withInterceptorsFromDi()),
    ] })
export class CorifeusModule {

    constructor(private boot: Boot) {
        if (booted === true) {
            return
        }
        booted = true

        this.boot.boot();
    }

    public static forRoot(): ModuleWithProviders<CorifeusModule> {
        return {
            ngModule: CorifeusModule,
//            providers: providers,
        };
    }
}