0.0.133 • Published 3 years ago

uki-devops v0.0.133

Weekly downloads
279
License
-
Repository
-
Last release
3 years ago

UKI Custom Angular Components

This is a component library built utilizing Angular & Material

How to import components

import {UkiFeatureModule, UkiFeatureComponent} from 'uki-devops'

@NgModule({
  ...
  imports: [UkiFeatureModule],
  exports: [UkiFeatureComponent]
  ...
})
Note: Some features, such as the UkiDialogComponent need to be added to app.module's entryComponents

Form Fields

Note: Form fields generate error messages dynamically based off of what Validators you assign your individual controls. All form fields MUST utilize Angular's FormGroup

 

UkiTextModule

Example:

<od360-text-input
[formGroup]="myForm" [controlName]="'username'" [label]='"Enter username"' [icon]="'person'" (iconClick)="iconClickFunction()">
<od360-text-input>

Input Properties | Prop | Description | required | data type | | ------ | ----------- | ------ | -------| | formGroup | name of form where control resides | true | FormGroup | controlName | name of control within form | true | string | label | assigns label value | true | string | type | determines type of input | false | string | icon | assigns material icon | false | string must be material icon | hint | shows hint below form field | false | string | placeholder | assigns placeholder value | false | string

 

Methods | Method | Description | | ------ | ----------- | | blur | fires on input blur | | focus | fires on input focus | | iconClick | fires on icon click |  

UkiTextAreaModule

Example:

<od360-text-area
[formGroup]="myForm" [controlName]="'username'" [label]='"Enter username"' [rows]='4'>
<od360-text-area>

Input Properties | Prop | Description | required | data type | | ------ | ----------- | ------ | -------| | formGroup | name of form where control resides | true | FormGroup | controlName | name of control within form | true | string | label | assigns label value | true | string | rows | sets number of rows (8 is max) | false | number | type | determines type of input | false | string | icon | assigns material icon | false | string must be material icon | hint | shows hint below form field | false | string | placeholder | assigns placeholder value | false | string

 

Methods | Method | Description | | ------ | ----------- | | blur | fires on input blur | | focus | fires on input focus | | iconClick | fires on icon click |  

UkiSelectModule

Example:

<od360-select
[formGroup]="myForm" [controlName]="'favoritePokemon'" [label]='"Choose Pokemon"' [options]="pokemonArray" [hasImages]="true"
[icon]="'videogame_asset'">
<od360-select>

Input Properties | Prop | Description | required | data type | | ------ | ----------- | ------ | -------| | formGroup | name of form where control resides | true | FormGroup | controlName | name of control within form | true | string | label | assigns label value | true | string | options | assigns select options | true | array | displayKey | what should be displayed to user | true | property from model | imageKey | field that contains image/icon name | true if using images | property from model | initialSelection | sets default select value | false | item from options | hasImages | use if select options will contain images | false | boolean| type | determines type of input | false | string | icon | assigns material icon (also fallback for if no image found) | false | string [must bematerial icon`] | hint | shows hint below form field | false | string | placeholder | assigns placeholder value | false | string

 

UkiStaticTextModule

Example:

<od360-static-text
[label]='"Display label"' [value]='"Display option only"' displayKey="label">
<od360-static-text>

Input Properties | Prop | Description | required | data type | | ------ | ----------- | ------ | -------| | label | assigns label value | true | string | value | assigns input value | true | string | icon | assigns material icon | false | string must be material icon | hint | shows hint below form field | false | string

 

Methods | Method | Description | | ------ | ----------- | | iconClick | fires on icon click |  


 

HTML Editor

Note: HTML editor uses ngx-quill & two way data binding

UkiHtmlEditorModule

Example:

<od360-html-editor
[(html)]="myObject.property">
<od360-html-editor>

Input Properties | Prop | Description | required | data type | | ------ | ----------- | ------ | -------| | html | binds data | true | string  


 

Snackbar

UkiSnackbarModule

Example:

...
constructor(private ukiSnackbarSvc: UkiSnackbarService){}

generateSnack(data){
 this.ukiSnackbarSvc.eatSnack("person", `${data}: snackbar text`, UkiSnackbarType.INFO, null, 30)
}
...

Methods | Method | Description | | ------ | ----------- | | eatSnack | creates snackbar |  

eatSnack Arguments | Argument | Description | required | data type | | ------ | ----------- | ------ | -------| | iconName | assigns material icon | true | string must be Material Icon | content | assigns snackbar content | true | string | iconBackground | sets icon background color | true | UkiSnackbarType SUCCESS, WARNING, INFO, FAILURE | duration | sets snackbar duration | false | number defaults to 2500 | truncateLength | sets number of characters before truncate pipe is invoked | false | number defaults to 70  


 

Dialog

Note: UkiDialogService includes a BehaviorSubject called dialogData$ that will give you access to form data upon submission

UkiDialogModule

Example UKI Dialog:

...
constructor(private ukiDialogSvc: UkiDialogService){}

generateDialog(){
 this.ukiDialogSvc.createUkiDialog({
           headerColor:'darkgoldenrod',
           title: "a test title!",
           subtitle: "a test sub title",
           type: Od360DialogType.FORM,
           submitButtonColor:'red',
           submitButtonIcon:'person',
           formFields: [
               {
                   type: Od360DialogInputType.TEXT_AREA,
                   label: "my label",
                   fullWidth: true,
                   defaultValue: null,
                   validators: [Validators.required],
                   name:'myControlName',
                   rows:2
               },
           ],
       }, () => this.afterClose(this.ukiDialogSvc.dialogData$.value.myControlName));
 }

afterClose(data){
 alert(data)
}
...

Example Custom Material Dialog:

Custom dialog component TypeScript

...
import {MAT_DIALOG_DATA} from "@angular/material/dialog"
interface CustomDialog {
   title: string;
}
constructor(@Inject(MAT_DIALOG_DATA) public data: CustomDialog){}
...

Custom dialog component HTML

<p> My title is: {{data.title || "no title provided"}} </p>

Parent component creating dialog

...
import {CustomDialogComponent} from './custom-dialog.component'

constructor(private ukiDialogSvc: UkiDialogService){}

generateDialog(){
  this.dialog.createMaterialDialog(CustomDialogComponent, null, {title: "Custom title"})
}
...

Methods | Method | Description | | ------ | ----------- | | closeDialog | closes all dialogs | | createUkiDialog | creates a UKI dialog | | createMaterialDialog | creates a custom Material dialog |  

createUkiDialog Arguments | Argument | Description | required | data type | | ------ | ----------- | ------ | -------| | dialog | UkiDialogModel | true | UkiDialogModel | afterCloseFunction | function to invoke once dialog is closed | false | function  

createMaterialDialog Arguments | Argument | Description | required | data type | | ------ | ----------- | ------ | -------| | component | Component | true | ComponentType or TemplateRef | panelClass | assigns class to panel place in main style.scss file | false | string | dialogData | data to inject into dialog | false | object | afterCloseFunction | function to invoke once dialog is closed | false | function  

UkiDialogModels

export interface UkiDialogModel {
  headerColor?:string;
  type: UkiDialogType;
  title: string;
  subtitle?: string;
  submitButtonTitle?: string;
  submitButtonColor?: string;
  submitButtonIcon?: string;
  formFields: UkiDialogFormField[];
  component?: ComponentType<unknown> | TemplateRef<unknown> 
}

export enum UkiDialogType {
  CONFIRMATION = 'confirmation',
  FORM = 'form',
}

export interface UkiDialogFormField {
  classList?: string;
  defaultValue: string | number | boolean;
  fullWidth?: boolean;
  label?: string;
  name?: string;
  options?: KeyValue[];
  type: UkiDialogInputType;
  validators?: ValidatorFn[];
  rows?:number;
}

export enum UkiDialogInputType{
  TEXT_INPUT='text-input',
  STATIC='static',
  TEXT_AREA='text-area'
}

export interface KeyValue {
  display: string;
  value: string;
}

export interface KeyValueGen {
  generateKeyValues(): Observable<Array<KeyValue>>;
}

 


 

Buttons

UkiButtonModule

Example:

<od360-button
[label]="'Submit'" (buttonClick)="submitForm()" [disabled]='myForm.invalid' [iconPosition]="'after'" [icon]="'person'">
<od360-button>

Input Properties | Prop | Description | required | data type | | ------ | ----------- | ------ | -------| | label | button text | true | string | type | creates action or cancel button | false | 'cancel' of leave off | loading | sets loading condition | false | boolean | icon | sets icon | false | must be material icon | iconPosition | sets icon position | false | 'after' or leave off | color | sets background color for non cancel buttons | false | string (color) | disabled | sets disabled condition | false | boolean  

Methods | Method | Description | | ------ | ----------- | | buttonClick | fires on button click
 


 

Toggle

UkiToggleModule

Example:

<od360-toggle
[label]="'Toggle'" [formGroup]="myform" [controlName]="'toggleControl'" [style]="'od360-toggle-bold'">
<od360-toggle>

Input Properties | Prop | Description | required | data type | | ------ | ----------- | ------ | -------| | label | toggle label text | true | string | formGroup | name of form where control resides | true | FormGroup | controlName | name of control within form | true | string | labelPosition | sets label position | false | 'after' or leave off  

Methods | Method | Description | | ------ | ----------- | | buttonClick | fires on button click
 


 

Checkbox

UkiCheckboxModule

Example:

<od360-checkbox
[label]="'checkbox'" [formGroup]="myform" [controlName]="'checkboxControl'" [tooltip]="'some tip!'">
<od360-checkbox>

Input Properties | Prop | Description | required | data type | | ------ | ----------- | ------ | -------| | label | toggle label text | true | string | formGroup | name of form where control resides | true | FormGroup | controlName | name of control within form | true | string | labelPosition | sets label position | false | 'before' or leave off  


 

Time/Date Pickers

 

UkiTtimePickerModule

Example:

<od360-time-picker
[formGroup]="myForm" [controlName]="'startTime'" [label]='"Start time"' color='teal'>
<od360-time-picker>

Input Properties | Prop | Description | required | data type | | ------ | ----------- | ------ | -------| | formGroup | name of form where control resides | true | FormGroup | controlName | name of control within form | true | string | label | assigns label value | true | string | color | assigns color option, defaults to blue | false | string | format | determines 12 or 24 hr format, defaults to 12 hr | false | 24 or leave off | minGap | determines gap between minutes, defaults to one | false | number or leave off | hint | shows hint below form field | false | string | placeholder | assigns placeholder value | false | string

 

UkiDatePickerModule

Example:

<od360-date-picker
[formGroup]="myForm" [controlName]="'startdate'" [label]='"Start date"' [maxDate]="'10/20/2020'">
<od360-date-picker>

Input Properties | Prop | Description | required | data type | | ------ | ----------- | ------ | -------| | formGroup | name of form where control resides | true | FormGroup | controlName | name of control within form | true | string | label | assigns label value | true | string | minDate | determines earliest date can be set | false | date format 12/25/2020 | maxDate | determines latest date can be set | false | date format 12/25/2020 | hint | shows hint below form field | false | string | placeholder | assigns placeholder value | false | string

 

 

UkiDateRangePickerModule

Example:

<od360-date-range-picker
[formGroup]="myForm" [controlNameStart]="'startDate'" [controlNameEnd]="'endDate'" [minDate]="'10/20/2020'">
<od360-date-range-picker>

Input Properties | Prop | Description | required | data type | | ------ | ----------- | ------ | -------| | formGroup | name of form where control resides | true | FormGroup | controlNameStart | name of control within form assigned to start date | true | string | controlNameEnd | name of control within form assigned to end date | true | string | label | assigns label value | true | string | minDate | determines earliest date can be set | false | date format 12/25/2020 | maxDate | determines latest date can be set | false | date format 12/25/2020 | hint | shows hint below form field | false | string | placeholder | assigns placeholder value | false | string

 


 

Autocomplete Chips

UkiAutocompleteModule

Example:

<od360-autocomplete
[formGroup]="myForm" [controlName]="'emailAddresses'" [label]='"Select emails"' [options]='autocompleteOptionArray' [color]="'teal'">
<od360-autocomplete>

Input Properties | Prop | Description | required | data type | | ------ | ----------- | ------ | -------| | formGroup | name of form where control resides | true | FormGroup | controlName | name of control within form | true | string | label | assigns label value | true | string | options | assigns autocomplete options | true | array must have property of label for display purpose | color | assigns chip color defaults to grey | false | string | type | determines type of input | false | string | hint | shows hint below form field | false | string | placeholder | assigns placeholder value | false | string

 


 

Radio Buttons

UkiRadioButtonModule

Example:

<od360-radio-button
[formGroup]="myForm" [controlName]="'radio'" [label]='"Select something"' [options]='radioArray' [horizontal]='true'>
<od360-radio-button>

Input Properties | Prop | Description | required | data type | | ------ | ----------- | ------ | -------| | formGroup | name of form where control resides | true | FormGroup | controlName | name of control within form | true | string | label | assigns label value | true | string | options | assigns radio button options | true | array must have property of label or name for display purpose | type | determines type of input | false | string

 


 

Empty State

UkiEmptyStateModule

Example:

<od360-empty-state
icon='videogame_asset' text='No records found!' (buttonClick)="emptyStateClick()" buttonText='Create a record'>
<od360-empty-state>

Input Properties | Prop | Description | required | data type | | ------ | ----------- | ------ | -------| | icon | sets icon | false | must be material icon | iconSize | sets icon size | false | string | text | sets empty state text | false | string | textSize | sets text size | false | string | buttonText | sets button text | false | string  

Methods | Method | Description | | ------ | ----------- | | buttonClick | fires on button click
 


 

Table

UkiTableModule

Example:

<od360-table
[tableData]="tableData"
[tableColumns]="tableColumns"
[actionButtons]='tableActionButtons'
defaultIcon='videogame_asset'
[additionalActions]='additionalActionButtons'
(selectedItemsEmitter)="selectedItemsLog($event)"
multiSelect='true'
pagination = true
toolBar = true
selectProp="userId"
emptyIcon="videogame_asset"
emptyText="No users found!"
emptyButtonText="Create a user"
(emptyButtonClick)="emptyTableClick()"    
></od360-table>

Input Properties | Prop | Description | required | data type | | ------ | ----------- | ------ | -------| | tableData | data to display on table | true | any[] | tableColumns | table columns | true | Od360Column[] | initialSortColumn | sets initial column to sort by, defaults to tableColumns0 | true | string | initialSortDirection | sets initial direction of sort column | false | 'asc' or 'desc' | multiSelect | determines if table has multi select | false | boolean | selectProp | unique property needed for identifying selected options | false | string tableData object key | pagination | determines if table has pagination | false | boolean | actionButton | array of action buttons for action column | false | Od360TableActionButton | additionalActions | array of more action buttons | false | Od360MoreActionButton | highlightColor | sets highlight color on mouse over row & when row(s) selected | false | string | defaultIcon | sets backup icon if table cell has images & there is an error | false | string mat-icon | emptyIcon | sets icon for empty table state | false | string mat-icon | emptyText | sets text for empty table state | false | string | emptyButtonText | sets button text for empty table state | false | string | emptyIconSize | sets icon size for empty table state | false | string | emptyTextSize | sets text size for empty table state | false | string

| toolBar | determines if table has a toolBar | false | boolean

 

Methods | Method | Description | | ------ | ----------- | | selectedItemsEmitter | fires when a selection happens from table | emptyButtonClick | fires when empty state button is clicked | false | string  



 

Pipes

UkiTruncatePipe

Example:

<span [innerHTML]="data.htmlText | truncate: [100]"> </span>

Truncates content to number located inside []

0.0.117

3 years ago

0.0.115

3 years ago

0.0.114

3 years ago

0.0.119

3 years ago

0.0.118

3 years ago

0.0.113

3 years ago

0.0.112

3 years ago

0.0.111

3 years ago

0.0.110

3 years ago

0.0.128

3 years ago

0.0.126

3 years ago

0.0.125

3 years ago

0.0.129

3 years ago

0.0.124

3 years ago

0.0.123

3 years ago

0.0.122

3 years ago

0.0.121

3 years ago

0.0.131

3 years ago

0.0.130

3 years ago

0.0.133

3 years ago

0.0.106

3 years ago

0.0.105

3 years ago

0.0.109

3 years ago

0.0.108

3 years ago

0.0.104

3 years ago

0.0.103

3 years ago

0.0.102

3 years ago

0.0.101

3 years ago

0.0.100

3 years ago

0.0.99

3 years ago

0.0.96

3 years ago

0.0.97

3 years ago

0.0.98

3 years ago

0.0.95

3 years ago

0.0.88

3 years ago

0.0.89

3 years ago

0.0.90

3 years ago

0.0.80

3 years ago

0.0.78

3 years ago

0.0.79

3 years ago

0.0.77

3 years ago

0.0.76

3 years ago

0.0.75

3 years ago

0.0.71

3 years ago

0.0.70

3 years ago

0.0.68

3 years ago

0.0.69

3 years ago

0.0.67

3 years ago

0.0.66

3 years ago

0.0.61

3 years ago

0.0.60

3 years ago

0.0.52

3 years ago

0.0.51

3 years ago

0.0.50

3 years ago

0.0.40

4 years ago

0.0.36

4 years ago

0.0.34

4 years ago

0.0.35

4 years ago

0.0.32

4 years ago

0.0.33

4 years ago

0.0.31

4 years ago

0.0.30

4 years ago

0.0.29

4 years ago

0.0.28

4 years ago

0.0.27

4 years ago

0.0.26

4 years ago

0.0.25

4 years ago

0.0.24

4 years ago

0.0.23

4 years ago

0.0.20

4 years ago

0.0.21

4 years ago

0.0.22

4 years ago

0.0.19

4 years ago

0.0.16

4 years ago

0.0.17

4 years ago

0.0.18

4 years ago

0.0.15

4 years ago

0.0.13

4 years ago

0.0.14

4 years ago

0.0.12

4 years ago

0.0.11

4 years ago

0.0.10

4 years ago

0.0.9

4 years ago

0.0.8

4 years ago

0.0.7

4 years ago

0.0.6

4 years ago

0.0.5

4 years ago

0.0.4

4 years ago

0.0.3

4 years ago

0.0.2

4 years ago

0.0.1

4 years ago