0.1.0 • Published 5 years ago

lib-ng-service-job-title v0.1.0

Weekly downloads
4
License
UNLICENSED
Repository
-
Last release
5 years ago

lib-ng-service-job-title Angular Library

Angular service to communicate with the job title API.

References

Quick Start

  • Install the library:

    npm install --save @sec-spec/lib-ng-service-job-title
  • Install the job title data model:

npm install --save @sec-spec/sis-model-job-title
  • Import the service in app.module.ts:
import { HttpClientModule } from '@angular/common/http';
import { JobTitleService } from '@sec-spec/lib-ng-service-job-title';
  • Add HttpClientModule to imports in app.module.ts:
imports: [
    HttpClientModule
]
  • Add JobTitleService to providers in app.module.ts:
providers: [
    JobTitleService
]
  • In a component or service, import the service:
import { JobTitleService } from '@sec-spec/lib-ng-service-job-title';
  • Use the service:
/** Get job titles by id.
    * @param ids Array of job title ids.
    * @returns Deserialized contact records.
    */
  getJobTitlesById(ids: number[]): Subscription<JobTitle[]> {
    return jobTitleService.getJobTitlesById(ids)
      .subscribe((records) => {
        console.log('Job Titles: ', records);
      });
  }

Library functions

Get all job titles

/** Get all job titles.
 * @returns Deserialized records.
 */
getAllJobTitles(): Observable<JobTitle[]> { }

Get a single job title

/** Get a single job title.
 * @param id Job title id.
 * @returns Deserialized record.
 */
getJobTitle(id: number): Observable<JobTitle> { }

Get all job titles by client

/** Get all job titles for a client.
 * @param id Client id.
 * @returns Deserialized records.
 */
getJobTitlesByClient(id: number): Observable<JobTitle[]> { }

Get job titles with an array of ids

/** Get job titles by id.
 * @param ids Array of ids.
 * @returns Deserialized records.
 */
getJobTitlesById(ids: number[]): Observable<JobTitle[]> { }

Get a job title's mapped titles for a client

/** Get a job title's mapped titles by client id.
 * @param parentTitleId The parent job title id.
 * @param clientId Client id of mapped job titles.
 * @returns Deserialized records.
 */
getMappedClientTitles(
  parentTitleId: number,
  clientId: number): Observable<JobTitle[]> { }

Adding to the library

  • Use the command below to generate a new component. Replace COMPONENT with the name of the component.

    ng generate component COMPONENT --project=lib-ng-service-job-title
  • Add the component or service to the public API file projects/lib-ng-service-job-title/src/public_api.ts.

  • Build the project:

    ./build.sh
  • Test it. See the Testing section below.

  • Publish the changes to npm:

    NOTE: Before publishing to npm, you have to update the version number in package.json. Follow the guidelines at semver.org.

    ./build.sh publish

Testing

The wrapper project is where you can test the library components and services.

  • Add the component or service to src/app/app.module.ts.
  • Import components/services in src/app/app.component.ts.
  • Add components to src/app/app.component.html.
    • Run the application: ng serve
  • Add unit tests to src/app.component.spec.ts.
    • Run tests: ng test

General Angular Documentation

This project was generated with Angular CLI version 6.0.0.

Development server

Run ng serve for a dev server. Navigate to http://localhost:4200/. The app will automatically reload if you change any of the source files.

Code scaffolding

Run ng generate component component-name to generate a new component. You can also use ng generate directive|pipe|service|class|guard|interface|enum|module.

Build

Run ng build to build the project. The build artifacts will be stored in the dist/ directory. Use the --prod flag for a production build.

Running unit tests

Run ng test to execute the unit tests via Karma.

Running end-to-end tests

Run ng e2e to execute the end-to-end tests via Protractor.

Further help

To get more help on the Angular CLI use ng help or go check out the Angular CLI README.