# Ng Partners

## Table of Contents

- [Modules](#modules)
- [Installation](#installation)
- [Styles](#Styles)

## Modules

## Components
* [Alerts](/projects/partners/src/lib/alerts)
* [Animations](/projects/partners/src/lib/animations)
* [App Updates Notification](/projects/partners/src/lib/app-updates)
* [Carrier](/projects/partners/src/lib/carrier)
* [Confirm Dialog](/projects/partners/src/lib/confirm)
* [Icons](/projects/partners/src/lib/icon)
* [Navigation](/projects/partners/src/lib/navigation)
* [Pipes](/projects/partners/src/lib/pipes)
* [Save Button](/projects/partners/src/lib/save-button)
* [Services](/projects/partners/src/lib/services)
* [Side Tab](/projects/partners/src/lib/sidetab)
* [Sort Link](/projects/partners/src/lib/sort-link)
* [Station Search Input](/projects/partners/src/lib/station-search)

## Pipes
* [Contains](/projects/partners/src/lib/pipes)
* [Empty to End](/projects/partners/src/lib/pipes)
* [Natural Sort](/projects/partners/src/lib/pipes)
* [Order By](/projects/partners/src/lib/pipes)
* [Sort By](/projects/partners/src/lib/pipes)

## Directives
* [Authorize](/projects/partners/src/lib/directives#authorize)
* [Affix](/projects/partners/src/lib/directives#affix)

## Helper Functions
* Update After Post

## Installation
```shell
  npm install --save ng-partners

  // Peer Dep
  ng add @angular/material
  npm install --save bootstrap
  npm install --save ngx-toastr

  // Optional if using export services
  npm install --save file-saver
  npm install --save @types/file-saver
```

### Import each module you intend to use. (recommended)
```js
  ...
  import { NavigationModule } from 'ng-partners';

  @NgModule({
    ...
    imports: [
      NavigationModule,
      ...
    ],
    ...
  })
  export class AppModule { }
```

### Optionaly you can import the entire module
```js
  import { NgPartnersModule } from 'ng-partners';

  @NgModule({
    ...
    imports: [
      NgPartnersModule,
      ...
    ],
    ...
  })
  export class AppModule { }
```

## Use with spteam.aa.com sites
```js
  import { STATION_LIST_ROUTE } from 'ng-partners';

  @NgModule({
    ...
    providers: [
      { provide: STATION_LIST_ROUTE, useValue: '/sites/TechOpsApps/' },
      { provide: STATION_SELECT, useValue: 'optional select statement' },
      { provide: STATION_FILTER, useValue: 'optional filter statement' },
    ],
    ...
  })
  export class AppModule { }
```

### Add to angular.json
``` json
  "architect": {
    "build": {
      ...
      "assets": [
        {
          "input": "./node_modules/ng-partners/assets/",
          "output": "./assets/",
          "glob": "**/*"
        }
      ],
      ...
    }
  }
```


## Styles

### Core
``` scss
// Core Ng Partners scss Files
@import '~ng-partners/scss/to-core';

```

### Peer Bootstrap Dep
``` scss
// Required for all Bootstrap
@import 'bootstrap/scss/functions', 'bootstrap/scss/variables', 'bootstrap/scss/mixins';

// Reboot make all browsers appear the same
@import 'bootstrap/scss/reboot';

// Bootstrap sass utilities
@import 'bootstrap/scss/utilities';

// All Bootsrap sass files
// comment out unused styles for smaller packages
@import 'bootstrap/scss/dropdown';
@import 'bootstrap/scss/navbar';
@import 'bootstrap/scss/type';
@import 'bootstrap/scss/images';
@import 'bootstrap/scss/code';
@import 'bootstrap/scss/grid';
@import 'bootstrap/scss/tables';
@import 'bootstrap/scss/forms';
@import 'bootstrap/scss/buttons';
@import 'bootstrap/scss/transitions';
@import 'bootstrap/scss/button-group';
@import 'bootstrap/scss/input-group';
@import 'bootstrap/scss/custom-forms';
@import 'bootstrap/scss/nav';
@import 'bootstrap/scss/card';
@import 'bootstrap/scss/breadcrumb';
@import 'bootstrap/scss/pagination';
@import 'bootstrap/scss/badge';
@import 'bootstrap/scss/jumbotron';
@import 'bootstrap/scss/alert';
@import 'bootstrap/scss/progress';
@import 'bootstrap/scss/media';
@import 'bootstrap/scss/list-group';
@import 'bootstrap/scss/close';
@import 'bootstrap/scss/modal';
@import 'bootstrap/scss/tooltip';
@import 'bootstrap/scss/popover';
@import 'bootstrap/scss/carousel';

```
