npm package: @fdot/angular-staff
Description: The angular-staff package wraps service calls to FDOT Staff API and also includes pipes and components based on bootstrap 4. ## Installation The angular staff package use a peer dependency of ng-bootstrap so you will need to also perform an NPM install 
Latest version: 1.0.1

# @fdot/angular-staff
The angular-staff package wraps service calls to FDOT Staff API and also includes pipes and components based on bootstrap 4.
## Installation
The angular staff package use a peer dependency of ng-bootstrap so you will need to also perform an NPM install of it as well.
`npm install @fdot/angular-staff --save`
`npm install @ng-bootstrap/ng-bootstrap' --save`

## Setup
```javascript
import { NgModule } from '@angular/core';
import { NgbModule } from '@ng-bootstrap/ng-bootstrap';

import { AngularStaffModule, Config } from '@fdot/angular-staff';


@NgModule({
  declarations: [
  ],
  imports: [
    // Add the import for the Angular Dotcodes Module
    AngularStaffModule.forRoot(new Config('Host Url Goes Here', 'Api Key Goes Here')),
    NgbModule.forRoot()
  ],
  providers: [],
  bootstrap: [AppComponent]
})
export class AppModule { }

```

#### Module Config Options
* host - The url for the dotcodes api the module will use
* apiKey - The api key for the api call.

## Staff Selector Component
An component that allows for the autocompletion of FDOT Staff members
```html
 <fdot-staff-selector (selected)="staffSelected($event)" [format]="'{firstName} {lastName} ({racfId})'" [value=]"staffId"></fdot-staff-selector>
```
#### Inputs
* format - The format string used for the selection and options of the autocomplete.
* value - Allows for the selection of the staff member using staff member id.

#### Outputs
* selected - The staff member that is selected

## Staff Pipe
```html
{{staffId | staff | async}}
{{staffId | staff:'{lastName}, {firstName}' | async}}
{{staffId | staff:'{firstName} {lastName} ({racfId}) - #{phone} Email: {emailAddress}' | async}}
```

#### Inputs
* format - The format string used for displaying the staff member name. If none is provided it is displayed as firstName lastName

## Format String Options
The format string allows you to specify a format with replacement tokens listed below. Example: `"{firstName} {lastName}"`.
#### Options
* {firstName}
* {lastName}
* {racfId}
* {emailAddress}
* {phone}

## AngularStaffService
A service is also included in the module for making your own calls for custom components or services.
##### Methods
* `GetStaffById(id: number): Observable<StaffMember>`
* `GetStaffByIds(id: number[]): Observable<StaffMember[]>`
* `GetStaffByRacfId(racfId: string): Observable<StaffMember>` 
* `GetStaffByRacfIds(racfId: number[]): Observable<StaffMember[]>`
* ` public SearchStaffBySearchCriteriaGet(racfId: number[], peopleFirstId: string, status: string, partialName: string, firstName: string, lastName: string, districtCode: string, positionNumber: string, organizationalCode: string,emailAddress: string, staffTypeCode: string, staffId: string): Observable<StaffMember[]>`
* `SearchStaffBySearchCriteriaPost(searchCriteria: SearchCriteria): Observable<HttpResponse<any>>`