Ana içeriğe geç

2.1.2.1 Base Module#

Base alt modulü içerisinde interceptor , model ve servis paketlerini barındıran ve UI uygulamaları için temel işleri yapan modüldür.

drawing Uygulama ana modulünüze aşağıdaki kullanım gibi ekleyebilirsiniz
@NgModule({
    imports: [
        ...
        HvlNgBaseModule.forRoot(),
        ...
})

forRoot metodu ile System interceptoru ve Help portal servisi otomatik provide edilir.

 static forRoot(): ModuleWithProviders<HvlNgBaseModule> {
    return {
      ngModule: HvlNgBaseModule,
      providers: [
        { provide: HTTP_INTERCEPTORS, useClass: HvlSystemInterceptor, multi: true },
        HvlHelpPortalService
      ],
    };
  }

System Interceptor#

System interceptor'ı uygulama içerisinden gönderilen her http isteği yakalar ve isteğe credential flagi ekler. Bu sayede uygulama cross-origin request'ler için credential verisi (cookie, authentication header vb.) ekleyerek isteği gönderir.

drawing Uygulama ana modulünüze aşağıdaki kullanım gibi ekleyebilirsiniz
@NgModule({
    imports: [
        ...
        HvlNgBaseModule.forRoot(),
        ...
})

forRoot metodu kullanılmayacaksa, aşağıdaki gibi ana module provider olarak eklenmesi gerekmektedir.

 providers: [
    { provide: HTTP_INTERCEPTORS, useClass: HvlSystemInterceptor, multi: true },
    ...
]

Ayrıca system interceptor her http isteğe timeout ekler. Bu timeout verisi konfigüratif olarak belirlenir. Belirlenen ms'de response alınamadığı durumda response beklenilmesi sonlanır ve hata fırlatılır.

Timeout konfigürasyonu config.json dosyası içerisinde core->service->timeout değeri milli second cinsinden belirlenir.

"core": {
        "app": {
            "production": false
        },
        "service": {
            "timeout": 10000,
            ...

Bazı istekler için bu sürenin override edilmesi gerekebilir. Bu durumda ise aşağıdaki örnek kullanıma benzer şekilde override edilebilir.


Help Portal#

Uygulamada, help portal dialogun yönetiminin yapıldığı servistir. Temelde 3 metodu bulunmaktadır.

Bunlar ;

openDialog:#

İsminden de anlaşılacağı gibi help portal dialogunun belirlenen değerler ile açılmasını sağlayan metotdur.

closeDialog:#

Açılan help portal dialogunun kapatılmasını sağlayan metotdur.

callDialog:#

Help portal davranışını parametrik olarak yönetebilmeyi sağlayan metotdur.

Bu metotlar aracılığıyla UI'dan alınan veriler, help portal API'sinde search edilerek, gelen sonuç ile ilgili sayfanın dialog içerisinde gösterilmesini sağlar.

Örnek kullanım ilgili sayfa'da bulabilirsiniz.