Ana içeriğe geç

2.3. Library Kullanımı#

Eksen UI projesinde; Keysis, Bpmn, Ldap ve Report bileşenlerinin herbiri kendi kütüphanelerini üzerinden sunulmuştur.

Bu bileşenlerin kütüphanelerini, kendi projenize dahil ederek aşağıda tariflendiği gibi kullanabilirsiniz.

package.json dosyasının "dependencies" alanına aşağıdaki gibi kullanılmak istenen kütüphanenin tanımı eklenmelidir.

{
    ...,
    "dependencies": {
      ...,
      "@hvlng/bpmn-lib": "~1.0.0-beta",
      "@hvlng/ldap-lib": "~1.0.0-beta",
      "@hvlng/report-lib": "~1.2.0-beta",
      "@hvlng/keysis-lib": "~1.0.0-beta"
    }
}

Uygulamanızın AppModule sınıfında import kısmına aşağıdaki gibi kullanılmak istenen kütüphane modulleri eklenmelidir. * keysis-lib:

@NgModule({
    imports: [
        ...,
        KeysisModule,
    ],
})
export class AppModule {}
* ldap-lib:

@NgModule({
    imports: [
        ...,
        LdapModule,
    ],
})
* report-lib:

@NgModule({
    imports: [
        ...,
        RToolModule,
    ],
})
* bpmn-lib:

@NgModule({
    imports: [
        ...,
        BpmnModule,
    ],
})
config.json dosyasında, o uygulamaya özel parametreler var ise eklenmelidir. Örneğin BPMN kütüphanesini kullanmaya ihtiyacımız var. Bu durumda uygulamanın config.json dosyasına aşağıdaki eklemeyi yapmamız gerekir.

{
    ...,
    "application": {
        "bpmn": {
            "editor": "http://hvlng.hvlnet.net:5050",
            "service": "http://hvlng.hvlnet.net:6081",
            "userTaskService": "http://hvlng.hvlnet.net:6080",
            "userTaskListServicePattern": "/task/active-user/page",
            "userTaskOperationsServicePattern": "/task",
            "userTaskMediumPriorityRangeStart" : 50,
            "userTaskMediumPriorityRangeEnd" : 79,
            "userTaskTableColumns": ["id","name","description","assignee","category","createTime","claimTime","dueDate","priority","operations"],
            "reportExportDateFormat": "dd.MM.YYYY HH:mm"
        }
    }
}
Ardından; uygulamanızın Routing sınıfına aşağıdaki örnekteki gibi kullanılacak kütüphanenin routing tanımı yapılmalıdır.

export const routes: Routes = [
    {
        ...,
        children: [
            ...,
            {
                path: 'keysis',
                canActivate: [HvlAuthenticatedGuard],
                loadChildren: () => import('@hvlng/keysis-lib').then((m) => m.KeysisModule),
            },
            {
                path: 'ldap',
                canActivate: [HvlAuthenticatedGuard],
                loadChildren: () => import('@hvlng/ldap-lib').then((m) => m.LdapModule),
            },
            {
                path: 'report',
                canActivate: [HvlAuthenticatedGuard],
                loadChildren: () => import('@hvlng/report-lib').then((m) => m.RToolModule),
            },
            {
                path: 'bpmn',
                canActivate: [HvlAuthenticatedGuard],
                loadChildren: () => import('@hvlng/bpmn-lib').then((m) => m.BpmnModule),
            },
        ],
    },
];
Menüde istenen modüllerin sayfalarının gözükmesi için, config.json'a aşağıdaki modül tanımlarının yapılması gerekmektedir.

{
  ...,
  "theme": {
    ...,
    "system_menu": {
      "appNameList": [..., "KEYSIS", "LDAP", "REPORT", "BPMN"]
    }
  }
}

Bu eklemelerin ardından projenizde; tanımlanan kütüphaneleri kullanabilir hale gelebilirsiniz.