@jooler/inputs 0.0.48 → 0.0.50

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -1 +1 @@
1
- {"version":3,"file":"inputs.mjs","sources":["../../../projects/inputs/src/lib/choose-enum/choose-enum.component.ts","../../../projects/inputs/src/lib/choose-enum/choose-enum.component.html","../../../projects/inputs/src/lib/show-table-errors/show-table-errors.component.ts","../../../projects/inputs/src/lib/show-table-errors/show-table-errors.component.html","../../../projects/inputs/src/lib/choose-enum-renderer/choose-enum-renderer.component.ts","../../../projects/inputs/src/lib/choose-enum-renderer/choose-enum-renderer.component.html","../../../projects/inputs/src/lib/choose-general-item/choose-general-item.service.ts","../../../projects/inputs/src/lib/choose-general-item/choose-general-item.component.ts","../../../projects/inputs/src/lib/choose-general-item/choose-general-item.component.html","../../../projects/inputs/src/lib/choose-general-item-renderer/choose-general-item-renderer.component.ts","../../../projects/inputs/src/lib/choose-general-item-renderer/choose-general-item-renderer.component.html","../../../projects/inputs/src/lib/models/line-type.model.ts","../../../projects/inputs/src/lib/models/line-type-model-helper.ts","../../../projects/inputs/src/lib/choose-line-type/choose-line-type.component.ts","../../../projects/inputs/src/lib/choose-line-type/choose-line-type.component.html","../../../projects/inputs/src/lib/choose-yes-or-no/choose-yes-or-no.component.ts","../../../projects/inputs/src/lib/choose-yes-or-no/choose-yes-or-no.component.html","../../../projects/inputs/src/lib/choose-yes-or-no-renderer/choose-yes-or-no-renderer.component.ts","../../../projects/inputs/src/lib/choose-yes-or-no-renderer/choose-yes-or-no-renderer.component.html","../../../projects/inputs/src/lib/editable-savable-input/dynamicPipeMapping.ts","../../../projects/inputs/src/lib/editable-savable-input/dynamicPipe.ts","../../../projects/inputs/src/lib/editable-savable-input/editable-savable-input.component.ts","../../../projects/inputs/src/lib/editable-savable-input/editable-savable-input.component.html","../../../projects/inputs/src/lib/general-input-renderer/custom-decimal-point-two-digits.directive.ts","../../../projects/inputs/src/lib/services/validation-message.service.ts","../../../projects/inputs/src/lib/formcontrol-validation-msg.directive.ts","../../../projects/inputs/src/lib/general-input-renderer/general-input-renderer.component.ts","../../../projects/inputs/src/lib/general-input-renderer/general-input-renderer.component.html","../../../projects/inputs/src/lib/models/label-and-field.model.ts","../../../projects/inputs/src/lib/dropdown-actions/dropdown-action-type.model.ts","../../../projects/inputs/src/lib/dropdown-actions/dropdown-actions.component.ts","../../../projects/inputs/src/lib/dropdown-actions/dropdown-actions.component.html","../../../projects/inputs/src/lib/primary-colors.ts","../../../projects/inputs/src/lib/add-asterisk.directive.ts","../../../projects/inputs/src/lib/inputs.module.ts","../../../projects/inputs/src/public-api.ts","../../../projects/inputs/src/inputs.ts"],"sourcesContent":["import { Component, EventEmitter, forwardRef, Input, OnChanges, OnInit, Output } from '@angular/core';\r\nimport { NG_VALUE_ACCESSOR } from '@angular/forms';\r\n\r\n\r\n@Component({\r\n selector: 'choose-enum',\r\n templateUrl: './choose-enum.component.html',\r\n styleUrls: [ './choose-enum.component.scss' ],\r\n providers: [\r\n {\r\n provide: NG_VALUE_ACCESSOR,\r\n useExisting: forwardRef(() => ChooseEnumComponent),\r\n multi: true,\r\n },\r\n ],\r\n})\r\n\r\nexport class ChooseEnumComponent implements OnInit, OnChanges {\r\n items: any[];\r\n @Output() change = new EventEmitter();\r\n @Input() label: string;\r\n @Input() appendTo: string;\r\n @Input() allowAllCapsValues: boolean = false;\r\n @Input() isItemHidden: boolean;\r\n @Input() isItemDisabled: boolean;\r\n @Input() enumChoices: any;\r\n @Input() getValuesArrayFromEnum: Function;\r\n @Input() isChip: boolean;\r\n @Input() isMultiple: boolean;\r\n @Input() placeholder: string;\r\n @Input() width: number = 20;\r\n @Input() paddingTop: number;\r\n @Input() labelTextAlign: string = 'left';\r\n @Input() labelTextFontWeight: string;\r\n @Input() labelTextFontSize: string;\r\n @Input() selectedItem: any;\r\n @Input() indexesToDisable: number[] = [];\r\n @Input() isDropdownDisabled: boolean = false;\r\n @Input() percentWidth: boolean = false;\r\n colors: string[] = [];\r\n\r\n constructor() { }\r\n\r\n ngOnChanges() {\r\n if (this.getValuesArrayFromEnum != null) {\r\n this.items = this.getValuesArrayFromEnum(this.enumChoices, this.allowAllCapsValues);\r\n }\r\n if (this.isItemDisabled == true) {\r\n if (this.indexesToDisable.length > 0) {\r\n for (let index of this.indexesToDisable) {\r\n this.items[ index ].disabled = true;\r\n }\r\n }\r\n }\r\n if (this.isItemHidden == true) {\r\n if (this.indexesToDisable.length > 0) {\r\n for (let index of this.indexesToDisable) {\r\n let itemIndex = this.items.findIndex(item => item.value == index)\r\n this.items.splice(itemIndex, 1)\r\n }\r\n }\r\n }\r\n }\r\n\r\n ngOnInit() {\r\n if (this.getValuesArrayFromEnum != null) {\r\n this.items = this.getValuesArrayFromEnum(this.enumChoices, this.allowAllCapsValues);\r\n }\r\n\r\n if (this.isItemDisabled == true) {\r\n if (this.indexesToDisable.length > 0) {\r\n for (let index of this.indexesToDisable) {\r\n this.items[ index ].disabled = true;\r\n }\r\n }\r\n }\r\n if (this.isItemHidden == true) {\r\n if (this.indexesToDisable.length > 0) {\r\n for (let index of this.indexesToDisable) {\r\n let itemIndex = this.items.findIndex(item => item.value == index)\r\n this.items.splice(itemIndex, 1)\r\n }\r\n }\r\n }\r\n }\r\n\r\n writeValue(type: number) {\r\n if (type != undefined) {\r\n this.selectedItem = type;\r\n }\r\n else if (type == null) {\r\n this.selectedItem = type;\r\n }\r\n }\r\n\r\n public registerOnChange(fn: any) {\r\n this.propagateChange = fn;\r\n }\r\n\r\n public registerOnTouched(fn: any) {\r\n this.propogateTouch = fn;\r\n }\r\n\r\n private propagateChange = (_: any) => { };\r\n private propogateTouch = () => { };\r\n\r\n updateBlur() {\r\n this.propogateTouch();\r\n }\r\n\r\n onSelectedItemChanged() {\r\n this.propagateChange(this.selectedItem);\r\n this.change.emit(this.selectedItem);\r\n }\r\n\r\n clear() {\r\n this.selectedItem = null;\r\n }\r\n\r\n setStyles() {\r\n let style;\r\n if (this.percentWidth) {\r\n style = {\r\n width: this.width + \"%\",\r\n paddingTop: this.paddingTop + 'rem'\r\n\r\n }\r\n }\r\n else {\r\n style = {\r\n width: this.width + 'rem',\r\n paddingTop: this.paddingTop + 'rem'\r\n }\r\n }\r\n return style;\r\n }\r\n\r\n setLabelStyle() {\r\n let style = {\r\n textAlign: this.labelTextAlign,\r\n fontWeight: this.labelTextFontWeight,\r\n fontSize: this.labelTextFontSize + 'rem'\r\n }\r\n return style;\r\n }\r\n}\r\n\r\n","<div class=\"select\">\r\n <ng-select [ngStyle]=\"setStyles()\" (blur)=\"updateBlur()\" bindLabel=\"label\" bindValue=\"value\" [items]=\"items\"\r\n [placeholder]=\"placeholder\" (change)=\"onSelectedItemChanged()\" [(ngModel)]=\"selectedItem\"\r\n [multiple]=\"isMultiple\" [disabled]=\"isDropdownDisabled\" [appendTo]=\"appendTo\" dropdownPosition=\"bottom\">\r\n <ng-template class=\"template\" ng-option-tmp ng-label-tmp let-item=\"item\" let-index=\"index\"\r\n let-search=\"searchTerm\">\r\n <div *ngIf=\"isChip\">\r\n <ng-chip class=\"chip\" [backgroundColor]=\"item.color\" [label]=\"item.label\" [width]=\"110\">\r\n </ng-chip>\r\n </div>\r\n <div [ngStyle]=\"setLabelStyle()\" *ngIf=\"!isChip\">{{item.label}}\r\n </div>\r\n </ng-template>\r\n </ng-select>\r\n</div>","import { Component, Input, OnInit } from '@angular/core';\r\n\r\n@Component({\r\n selector: 'show-table-errors',\r\n templateUrl: './show-table-errors.component.html',\r\n styleUrls: ['./show-table-errors.component.scss']\r\n})\r\nexport class ShowTableErrorsComponent implements OnInit {\r\n @Input() message: any;\r\n showDetails: boolean;\r\n ngOnInit() {\r\n }\r\n\r\n onMouseEnter() {\r\n this.showDetails = true;\r\n }\r\n\r\n onMouseLeave() {\r\n this.showDetails = false;\r\n }\r\n\r\n}\r\n","<div (mouseenter)=\"onMouseEnter()\"(mouseleave)=\"onMouseLeave()\" class=\"icon\">\r\n <fa-icon class=\"icon\" icon=\"info-circle\" ></fa-icon>\r\n <span *ngIf=\"message\" class=\"message\"\r\n [ngClass]=\"{'no-details' : !showDetails , 'details': showDetails}\">{{message}}</span>\r\n</div>","import { Component } from '@angular/core';\r\nimport { ICellRendererAngularComp } from 'ag-grid-angular';\r\n\r\n@Component({\r\n selector: 'choose-enum-renderer',\r\n templateUrl: './choose-enum-renderer.component.html',\r\n styleUrls: ['./choose-enum-renderer.component.scss']\r\n})\r\nexport class ChooseEnumRendererComponent implements ICellRendererAngularComp {\r\n params: any;\r\n formControlValue;\r\n key;\r\n enumValue: number;\r\n rowId: number;\r\n\r\n constructor() { }\r\n\r\n agInit(params: any) {\r\n this.params = params;\r\n this.enumValue = params.value;\r\n this.key = params.context.createKey(params.columnApi, params.column);\r\n }\r\n\r\n onCellDataChanged($event) {\r\n let value: any = $event;\r\n this.formControlValue = this.params.context.formGroup.get(\"entries\").at(this.params.node.rowIndex);\r\n this.formControlValue?.get(this.key).setValue(value);\r\n\r\n }\r\n\r\n refresh(params: any): boolean {\r\n return false;\r\n }\r\n}\r\n","<choose-enum [label]=\"params.label\" [appendTo]=\"'body'\" [isItemHidden]=\"params.isItemHidden\"\r\n [isItemDisabled]=\"params.isItemDisabled\" [labelTextAlign]=\"params.labelTextAlign\"\r\n [labelTextFontWeight]=\"params.labelTextFontWeight\" [labelTextFontSize]=\"params.labelTextFontSize\"\r\n [selectedItem]=\"params.value\" [indexesToDisable]=\"params.indexesToDisable\"\r\n [isDropdownDisabled]=\"params.isDropdownDisabled\" [getValuesArrayFromEnum]=\"params.getLabelAndColorFromEnumValue\"\r\n [enumChoices]=\"params.enumChoices\" [placeholder]=\"params.placeholder\" [width]=\"params.width\"\r\n [isChip]=\"params.isChip\" [paddingTop]=\"params.paddingTop\" [allowAllCapsValues]=\"params.allowAllCapsValues\"\r\n (change)=\"onCellDataChanged($event)\">\r\n</choose-enum>","import { Inject, Injectable } from '@angular/core';\r\nimport { HttpClient, HttpHeaders } from '@angular/common/http';\r\nimport { Observable } from 'rxjs';\r\n// import { environment } from '../../environments/environment';\r\n\r\n@Injectable({\r\n providedIn: 'root'\r\n})\r\nexport class ChooseGeneralItemService {\r\n // baseUrl: string = environment.apiURL;\r\n\r\n constructor(private http: HttpClient, @Inject('env') private env) { }//we have an issue with this line of code...can we meet to resolve it!\r\n\r\n getHeaders() {\r\n const token = localStorage.getItem(\"token\");\r\n const httpHeaders = new HttpHeaders(\r\n {\r\n 'Content-Type': \"application/json\",\r\n 'Authorization': 'Token ' + token\r\n });\r\n return { headers: httpHeaders };\r\n }\r\n\r\n getAuthenticationHeadersWithQueryParams(params) {\r\n const token = localStorage.getItem(\"token\");\r\n const httpHeaders = new HttpHeaders(\r\n {\r\n 'Content-Type': \"application/json\",\r\n 'Authorization': 'Token ' + token\r\n }\r\n );\r\n return { headers: httpHeaders, params: params };\r\n }\r\n\r\n getData(apiPath: string): Observable<any> {\r\n return this.http.get(`${this.env.apiURL}${apiPath}`, this.getHeaders());\r\n }\r\n}\r\n","import { Component, EventEmitter, forwardRef, Input, OnInit, Output } from '@angular/core';\r\nimport { ControlValueAccessor, NG_VALUE_ACCESSOR } from '@angular/forms';\r\nimport { LabelAndField } from '../models/label-and-field.model';\r\nimport { ChooseGeneralItemService } from './choose-general-item.service';\r\n\r\n@Component({\r\n selector: 'choose-general-item',\r\n templateUrl: './choose-general-item.component.html',\r\n styleUrls: ['./choose-general-item.component.scss'],\r\n providers: [\r\n {\r\n provide: NG_VALUE_ACCESSOR,\r\n useExisting: forwardRef(() => ChooseGeneralItemComponent),\r\n multi: true,\r\n },\r\n ],\r\n})\r\nexport class ChooseGeneralItemComponent implements OnInit, ControlValueAccessor {\r\n @Output() change = new EventEmitter();\r\n @Input() items: any[];\r\n @Input() label: string;\r\n @Input() appendTo: string;\r\n @Input() placeholder: string;\r\n @Input() apiPath: string;\r\n @Input() isMultiple: boolean;\r\n @Input() hideSelectedItem: boolean;\r\n @Input() objects: LabelAndField[];\r\n @Input() showLabel: boolean;\r\n @Input() separator: string;\r\n @Input() width: number = 20;\r\n @Input() fontWeight: number;\r\n @Input() fontSize: number;\r\n @Input() isChip: Boolean = false;\r\n @Input() isTypeDate: boolean;\r\n @Input() chipColor: string = 'black';\r\n @Input() chipTextColor: string = 'white';\r\n @Input() chipWidth: number = 11;\r\n @Input() selectedItemId: number | number[];\r\n @Input() disabled: boolean;\r\n @Input() useFullObject: boolean = false;\r\n\r\n constructor(\r\n private _ChooseGeneralItemService: ChooseGeneralItemService\r\n ) { }\r\n\r\n ngOnInit(): void {\r\n if (!this.items)\r\n this.getData();\r\n }\r\n\r\n writeValue(item: any) {\r\n if (item != undefined) {\r\n this.selectedItemId = item;\r\n }\r\n else if (item == null) {\r\n this.selectedItemId = item;\r\n }\r\n }\r\n\r\n public registerOnChange(fn: any) {\r\n this.propagateChange = fn;\r\n }\r\n\r\n public registerOnTouched(fn: any) {\r\n this.propogateTouch = fn;\r\n }\r\n\r\n private propagateChange = (_: any) => { };\r\n private propogateTouch = () => { };\r\n\r\n updateBlur() {\r\n this.propogateTouch();\r\n }\r\n\r\n onSelectedItemChanged($event) {\r\n this.propagateChange(this.useFullObject ? $event : this.selectedItemId);\r\n this.change.emit(this.useFullObject ? $event : this.selectedItemId);\r\n }\r\n\r\n getData() {\r\n if (this.apiPath) {\r\n this._ChooseGeneralItemService.getData(this.apiPath).subscribe({\r\n next: (response: any[]) => {\r\n this.items = response;\r\n },\r\n error: (error) => console.error(\"error\", error)\r\n })\r\n }\r\n }\r\n\r\n setWidth() {\r\n let style = {\r\n width: this.width + \"rem\"\r\n }\r\n return style;\r\n }\r\n\r\n setFontStyles() {\r\n let fontStyle = {\r\n fontWeight: this.fontWeight,\r\n fontSize: this.fontSize + \"rem\",\r\n }\r\n return fontStyle;\r\n }\r\n}\r\n","<div class=\"select\">\r\n <ng-select [hideSelected]=\"hideSelectedItem\" [closeOnSelect]=\"!isMultiple\" [ngStyle]=\"setWidth()\" class=\"component\"\r\n [disabled]=\"disabled\" [appendTo]=\"appendTo\" dropdownPosition=\"bottom\" (blur)=\"updateBlur()\" [bindLabel]=\"label\"\r\n bindValue=\"id\" [compareWith]=\"\" [items]=\"items\" [placeholder]=\"placeholder\"\r\n (change)=\"onSelectedItemChanged($event)\" [(ngModel)]=\"selectedItemId\" [multiple]=\"isMultiple\">\r\n <ng-template *ngIf=\"!isChip\" class=\"template\" ng-option-tmp ng-label-tmp let-item=\"item\" let-index=\"index\"\r\n let-search=\"searchTerm\">\r\n <span [ngStyle]=\"setFontStyles()\" *ngFor=\"let object of objects let isLast = last\">\r\n <span *ngIf=\"showLabel && !isTypeDate\">\r\n {{object.label}}: {{item[object.field]}} {{isLast ? \"\" : separator}}\r\n </span>\r\n <span *ngIf=\"showLabel && isTypeDate\">\r\n {{object.label}}: {{item[object.field]| date: 'mediumDate'}} {{isLast ? \"\" : separator}}\r\n </span>\r\n <span *ngIf=\"!showLabel && isTypeDate\">\r\n {{item[object.field]| date: 'mediumDate'}} {{isLast ? \"\" : separator}}\r\n </span>\r\n <span *ngIf=\"!showLabel && !isTypeDate\">{{item[object.field]}}{{isLast ? \"\" : separator}}\r\n </span>\r\n </span>\r\n </ng-template>\r\n <ng-template *ngIf=\"isChip\" ng-label-tmp let-item=\"item\" let-clear=\"clear\">\r\n <ng-chip (mousedown)=\"$event.stopPropagation()\" [clear]=\"clear\" [withCross]=\"isMultiple\" [item]=\"item\"\r\n class=\"chip\" [backgroundColor]=\"chipColor\" [label]=\"item[objects[0].field]\"\r\n [width]=\"chipWidth\">\r\n </ng-chip>\r\n </ng-template>\r\n <ng-template *ngIf=\"isChip\" ng-option-tmp let-clear=\"clear\" let-item=\"item\">\r\n <ng-chip (mousedown)=\"$event.stopPropagation()\" [clear]=\"clear\" [withCross]=\"false\" [item]=\"item\"\r\n class=\"chip\" [backgroundColor]=\"chipColor\" [label]=\"item[objects[0].field]\"\r\n [width]=\"chipWidth\">\r\n </ng-chip>\r\n </ng-template>\r\n </ng-select>\r\n</div>","import { Component } from '@angular/core';\r\nimport { ICellRendererAngularComp } from 'ag-grid-angular';\r\n\r\n@Component({\r\n selector: 'choose-general-item-renderer',\r\n templateUrl: './choose-general-item-renderer.component.html',\r\n styleUrls: ['./choose-general-item-renderer.component.scss']\r\n})\r\nexport class ChooseGeneralItemRendererComponent implements ICellRendererAngularComp {\r\n params: any;\r\n formControlValue;\r\n key;\r\n itemId: number;\r\n rowId: number;\r\n\r\n constructor() { }\r\n\r\n agInit(params: any): void {\r\n this.params = params;\r\n this.itemId = params.data.id;\r\n this.key = params.context.createKey(params.columnApi, params.column);\r\n this.rowId = params.node.id;\r\n }\r\n\r\n onCellDataChanged($event) {\r\n let value: any = $event;\r\n this.formControlValue = this.params.context.formGroup.get(\"entries\").at(this.rowId);\r\n this.formControlValue.get(this.key).setValue(value);\r\n const params = {\r\n value: value,\r\n rowNode: this.params.node,\r\n };\r\n this.params.onCellValueChanged(params);\r\n }\r\n\r\n refresh(params: any): boolean {\r\n return true\r\n }\r\n}\r\n","<choose-general-item [label]=\"params.label\" [appendTo]=\"'body'\" [placeholder]=\"params.placeholder\"\r\n [apiPath]=\"params.apiPath\" [isMultiple]=\"params.isMultiple\" [objects]=\"params.objects\"\r\n [showLabel]=\"params.showLabel\" [separator]=\"params.separator\" [width]=\"params.width\"\r\n [fontWeight]=\"params.fontWeight\" [fontSize]=\"params.fontSize\" [isChip]=\"params.isChip\"\r\n [isTypeDate]=\"params.isTypeDate\" [chipColor]=\"params.chipColor\" [chipTextColor]=\"params.chipTextColor\"\r\n [chipWidth]=\"params.chipWidth\" [selectedItemId]=\"itemId\" [disabled]=\"params.disabled\"\r\n (change)=\"onCellDataChanged($event)\">\r\n</choose-general-item>","export enum LineType {\r\n INCLUDE = 0,\r\n DO_NOT_INCLUDE = 1,\r\n}","import { EnumHelper } from \"@jooler/shared-general-components\";\r\nimport { LineType } from \"./line-type.model\";\r\n\r\nexport class LineTypeModelHelper {\r\n\r\n static label: string;\r\n static color: string;\r\n static description: string;\r\n static value: any;\r\n\r\n static getItems() {\r\n let items: EnumHelper[] = [];\r\n let values = Object.values(LineType);\r\n let types = values.filter(value =>\r\n typeof value === 'number') as number[];\r\n for (let value of types) {\r\n this.setStringValueAndColor(value);\r\n items.push({ value: value, label: this.label, color: this.color, description: this.description })\r\n }\r\n return items\r\n }\r\n\r\n static setStringValueAndColor(type: LineType) {\r\n switch (type) {\r\n case LineType.INCLUDE:\r\n return this.label = \"Include\", this.color = \"gold\";\r\n break;\r\n case LineType.DO_NOT_INCLUDE:\r\n return this.label = \"Do Not Include\", this.color = \"platinum\";\r\n break;\r\n default:\r\n return this.label = \"Undefined\", this.color = \"Gray\"\r\n }\r\n }\r\n\r\n getValue(label: string) {\r\n let value;\r\n switch (label) {\r\n case \"Include\":\r\n return value = 0;\r\n break;\r\n case \"Do Not Include\":\r\n return value = 1;\r\n break;\r\n default:\r\n return null\r\n }\r\n }\r\n static getLabelAndColorForValue(value: number) {\r\n for (let item of this.getItems()) {\r\n if (item.value == value) {\r\n this.value = item;\r\n return this.value\r\n }\r\n }\r\n }\r\n}","import { Component, forwardRef, OnInit } from '@angular/core';\r\nimport { NG_VALUE_ACCESSOR } from '@angular/forms';\r\nimport { LineTypeModelHelper } from '../models/line-type-model-helper';\r\n\r\n@Component({\r\n selector: 'choose-line-type',\r\n templateUrl: './choose-line-type.component.html',\r\n styleUrls: ['./choose-line-type.component.scss'],\r\n providers: [\r\n {\r\n provide: NG_VALUE_ACCESSOR,\r\n useExisting: forwardRef(() => ChooseLineTypeComponent),\r\n multi: true,\r\n },\r\n ],\r\n})\r\nexport class ChooseLineTypeComponent implements OnInit {\r\n items = LineTypeModelHelper;\r\n selectedItem: any;\r\n types: any;\r\n\r\n constructor() { }\r\n\r\n ngOnInit(): void {\r\n this.types = this.items.getItems();\r\n }\r\n\r\n writeValue(type: any) {\r\n if (type != undefined || type != null) {\r\n this.selectedItem = type;\r\n }\r\n }\r\n\r\n public registerOnChange(fn: any) {\r\n this.propagateChange = fn;\r\n }\r\n\r\n public registerOnTouched(fn: any) {\r\n this.propogateTouch = fn;\r\n }\r\n\r\n private propagateChange = (_: any) => { };\r\n private propogateTouch = () => { };\r\n\r\n updateBlur() {\r\n this.propogateTouch();\r\n }\r\n\r\n onSelectedItemChanged() {\r\n this.propagateChange(this.selectedItem);\r\n }\r\n}\r\n","<div class=\"select\">\r\n <ng-select class=\"type\" appendTo=\"body\" (blur)=\"updateBlur()\" bindLabel=\"label\" bindValue=\"label\" [items]=\"types\"\r\n [placeholder]=\"'Choose A Component'\" (change)=\"onSelectedItemChanged()\" [(ngModel)]=\"selectedItem\">\r\n <ng-template class=\"template\" ng-option-tmp ng-label-tmp let-item=\"item\" let-index=\"index\">\r\n {{item.label}}\r\n </ng-template>\r\n </ng-select>\r\n</div>","import { Component, OnInit, Output, EventEmitter, Input, forwardRef } from '@angular/core';\r\nimport { YesOrNo } from '../models/yes-or-no.model';\r\nimport { NG_VALUE_ACCESSOR } from '@angular/forms';\r\n\r\n@Component({\r\n selector: 'choose-yes-or-no',\r\n templateUrl: './choose-yes-or-no.component.html',\r\n styleUrls: ['./choose-yes-or-no.component.scss'],\r\n providers: [\r\n {\r\n provide: NG_VALUE_ACCESSOR,\r\n useExisting: forwardRef(() => ChooseYesOrNoComponent),\r\n multi: true\r\n }]\r\n})\r\nexport class ChooseYesOrNoComponent implements OnInit {\r\n\r\n @Output() change = new EventEmitter();\r\n items: YesOrNo[] = [{ value: true, label: \"Yes\", color: \"green\" }, { value: false, label: \"No\", color: \"red\" }];\r\n @Input() width: number = 200;\r\n @Input() selectedItemValue: boolean;\r\n @Input() placeholder: string = \"Choose either Yes or No\";\r\n\r\n constructor() { }\r\n\r\n ngOnInit(): void {\r\n }\r\n\r\n writeValue(item: boolean) {\r\n if (item != undefined || item != null) {\r\n this.selectedItemValue = item;\r\n }\r\n }\r\n\r\n public registerOnChange(fn: any) {\r\n this.propagateChange = fn;\r\n }\r\n\r\n public registerOnTouched(fn: any) {\r\n this.propogateTouch = fn;\r\n }\r\n\r\n private propagateChange = (_: any) => { };\r\n private propogateTouch = () => { };\r\n\r\n updateBlur() {\r\n this.propogateTouch();\r\n }\r\n\r\n onSelectedItemChanged() {\r\n this.propagateChange(this.selectedItemValue);\r\n this.change.emit(this.selectedItemValue);\r\n }\r\n\r\n setWidth() {\r\n let style = {\r\n width: this.width + \"px\"\r\n }\r\n return style\r\n }\r\n}\r\n","<div class=\"select\">\r\n <ng-select [ngStyle]=\"setWidth()\" class=\"component\" appendTo=\"body\" (blur)=\"updateBlur()\" [placeholder]=\"placeholder\" bindLabel=\"label\"\r\n bindValue=\"value\" [items]=\"items\" [placeholder]=\"placeholder\" (change)=\"onSelectedItemChanged()\"\r\n [(ngModel)]=\"selectedItemValue\" >\r\n <ng-template class=\"template\" ng-option-tmp ng-label-tmp let-item=\"item\" let-index=\"index\"\r\n let-search=\"searchTerm\">\r\n <span [style.color]=\"item.color\">\r\n {{item.label}}\r\n </span>\r\n </ng-template>\r\n </ng-select>\r\n</div>\r\n","import { Component } from '@angular/core';\r\nimport { ICellRendererAngularComp } from 'ag-grid-angular';\r\n\r\n@Component({\r\n selector: 'choose-yes-or-no-renderer',\r\n templateUrl: './choose-yes-or-no-renderer.component.html',\r\n styleUrls: ['./choose-yes-or-no-renderer.component.scss'],\r\n \r\n})\r\nexport class ChooseYesOrNoRendererComponent implements ICellRendererAngularComp {\r\n params: any;\r\n formControlValue;\r\n key;\r\n booleanValue: boolean;\r\n columnName: string;\r\n rowId: number;\r\n\r\n constructor() { }\r\n\r\n \r\n agInit(params: any) {\r\n this.params = params;\r\n this.booleanValue = params.value; \r\n this.key = params.context.createKey(params.columnApi, params.column);\r\n this.rowId = params.node.id;\r\n }\r\n\r\n onCellDataChanged($event) {\r\n let value: any = $event;\r\n this.formControlValue = this.params.context.formGroup.get(\"entries\").at(this.rowId);\r\n this.formControlValue.get(this.key).setValue(value);\r\n }\r\n\r\n refresh(params: any): boolean {\r\n return false;\r\n }\r\n\r\n}\r\n","<choose-yes-or-no [selectedItemValue]=\"booleanValue\" [width]=\"params.width\" (change) =\"onCellDataChanged($event)\" [placeholder]=\"params.placeholder\" ></choose-yes-or-no>","import { CurrencyPipe } from '@angular/common';\r\n\r\nexport const PIPEMAPPINGS = [\r\n { value: '$', pipe: new CurrencyPipe('en-US') }\r\n];","import { Pipe, PipeTransform } from '@angular/core';\r\nimport { PIPEMAPPINGS } from './dynamicPipeMapping';\r\n\r\n@Pipe({ name: 'dynamicPipe' })\r\nexport class DynamicPipe implements PipeTransform {\r\n transform(value, args: any): any {\r\n for (let val of PIPEMAPPINGS) {\r\n if (val.value === args) {\r\n return val.pipe.transform(value);\r\n }\r\n }\r\n return '';\r\n }\r\n}","import { Component, OnInit, Input, forwardRef, EventEmitter, Output } from '@angular/core';\r\nimport { NG_VALUE_ACCESSOR, ControlValueAccessor } from '@angular/forms';\r\nimport { DynamicPipe } from './dynamicPipe';\r\n@Component({\r\n selector: 'editable-savable-input',\r\n templateUrl: './editable-savable-input.component.html',\r\n styleUrls: ['./editable-savable-input.component.css'],\r\n providers: [DynamicPipe,\r\n {\r\n provide: NG_VALUE_ACCESSOR,\r\n useExisting: forwardRef(() => EditableSavableInputComponent),\r\n multi: true\r\n }\r\n ]\r\n})\r\nexport class EditableSavableInputComponent implements OnInit, ControlValueAccessor {\r\n @Output() saveWasClicked = new EventEmitter();\r\n @Input() defaultvalue: string;\r\n @Input() inputType: string;\r\n @Input() newLabel: string;\r\n @Input() headerLabel: string;\r\n @Input() showUnit: boolean = false;\r\n @Input() unit: string;\r\n @Input() unitType: string;\r\n @Input() isEditable: boolean = true;\r\n @Input() showHeader: boolean = true;\r\n @Input() value: string = \"\";\r\n isAddClickedOn: boolean = false;\r\n isUpdated: boolean = false;\r\n showEdit: boolean = false;\r\n\r\n constructor() { }\r\n\r\n ngOnInit() {\r\n this.initialize();\r\n }\r\n\r\n initialize() {\r\n if (this.value == \"\") {\r\n this.isUpdated = false;\r\n }\r\n else {\r\n this.isUpdated = true;\r\n }\r\n }\r\n\r\n onClickAdd() {\r\n this.isAddClickedOn = true;\r\n }\r\n\r\n onClickCancel() {\r\n this.isAddClickedOn = false;\r\n }\r\n\r\n onClickSave(input) {\r\n this.isAddClickedOn = false;\r\n let value = input.value;\r\n if (value.trim().length == 0) {\r\n this.isUpdated = false;\r\n }\r\n else {\r\n this.isUpdated = true;\r\n }\r\n this.value = value;\r\n this.saveWasClicked.emit(value);\r\n this.propagateChange(this.value);\r\n }\r\n\r\n onClickEdit() {\r\n this.isAddClickedOn = true;\r\n }\r\n\r\n onMouseEnter() {\r\n this.showEdit = true;\r\n }\r\n\r\n onMouseLeave() {\r\n this.showEdit = false;\r\n }\r\n\r\n writeValue(value: string) {\r\n if (value) {\r\n this.value = value;\r\n this.isUpdated = true;\r\n }\r\n }\r\n\r\n // registers 'fn' that will be fired wheb changes are made\r\n // this is how we emit the changes back to the form\r\n public registerOnChange(fn: any) {\r\n this.propagateChange = fn;\r\n }\r\n\r\n public registerOnTouched(fn: any) {\r\n this.propogateTouch = fn;\r\n }\r\n // the method set in registerOnChange to emit changes back to the form\r\n private propagateChange = (_: any) => { };\r\n private propogateTouch = () => { };\r\n\r\n onChange($event) {\r\n //this.propagateChange(this.value);\r\n }\r\n\r\n updateBlur() {\r\n this.propogateTouch();\r\n }\r\n}\r\n","<div *ngIf=\"showHeader\" class=\"header\">\r\n {{headerLabel}}\r\n</div>\r\n<div class=\"container\" [ngClass]=\"{'closed':!isAddClickedOn, 'open': isAddClickedOn}\">\r\n <div class=\"content\">\r\n <div class=\"default-content\" *ngIf=\"!isAddClickedOn && !isUpdated && isEditable\">\r\n <div class=\"add\" (click)=\"onClickAdd()\">\r\n {{defaultvalue}} </div>\r\n </div>\r\n <div class=\"edit-content\" *ngIf=\"isAddClickedOn\">\r\n <label class=\"input-label\" for=\"input\">{{newLabel}}</label>\r\n <div class=\"input \" [ngClass]=\"{'input-with-appended-unit': showUnit}\">\r\n <span *ngIf=\"showUnit\">{{unit}}</span>\r\n <input (change)=\"onChange($event)\" (blur)=\"updateBlur()\" [ngModel]=\"value\" [value]=\"value\" id=\"input\" #input\r\n class=\"form-control\" [ngClass]=\"{'input-box': showUnit}\" [type]=\"inputType\">\r\n </div>\r\n <div class=\"edit-actions\">\r\n <button type=\"button\" class=\"btn cancel\" (click)=\"onClickCancel()\" mat-raised-button>Cancel</button>\r\n <button type=\"button\" class=\"save\" (click)=\"onClickSave(input)\" mat-raised-button color=\"primary\">Save</button>\r\n </div>\r\n </div>\r\n <div class=\"updated-content closed\" *ngIf=\"!isAddClickedOn && isUpdated\" (mouseenter)=\"onMouseEnter()\"\r\n (mouseleave)=\"onMouseLeave()\">\r\n <div class=\"edit-icon-container\" *ngIf=\"showEdit && isEditable\" (click)=\"onClickEdit()\">\r\n <i class=\"fas fa-pencil-alt\"></i>\r\n </div>\r\n <div class=\"updated\">\r\n <span class=\"updated-label\">\r\n <label for=\"input\">{{newLabel}}</label>\r\n </span>\r\n <span *ngIf=\"!showUnit\">{{value}}</span>\r\n <span *ngIf=\"showUnit\" class=\"updated-value\">\r\n {{value | dynamicPipe: unitType}}\r\n </span>\r\n </div>\r\n </div>\r\n </div>\r\n</div>","import { DecimalPipe } from '@angular/common';\r\nimport { Directive, HostListener, OnInit } from '@angular/core';\r\nimport { NgControl, NgModel } from '@angular/forms';\r\n\r\n\r\n@Directive({\r\n selector: '[customDecimalPointTwoDigits]',\r\n providers: [NgModel, DecimalPipe],\r\n})\r\nexport class CustomDecimalPointTwoDigitsDirective implements OnInit {\r\n valueSubscription: any;\r\n constructor(\r\n private control: NgControl,\r\n ) { }\r\n\r\n ngOnInit(): void {\r\n if (this.control.value) {\r\n this.control.valueAccessor.writeValue(this.transformToCommasAndPoint(this.control.value));\r\n }\r\n this.valueSubscription = this.control.control.valueChanges.subscribe(\r\n value => {\r\n if (value.length > 0) {\r\n let removeCommas = this.control.value.replace(/,/g, '');\r\n this.control.control.setValue(removeCommas, { emitEvent: false, emitModelToViewChange: false });\r\n }\r\n else {\r\n this.control.control.setValue(null, { emitEvent: false, emitModelToViewChange: false });\r\n }\r\n }\r\n );\r\n }\r\n\r\n @HostListener(\"input\", [\"$event\"]) onEvent($event) {\r\n if (this.control.value) {\r\n const item = $event.target;\r\n item.value = this.transformToCommasAndPoint(this.control.value);\r\n let removeCommas = this.control.value.replace(/,/g, '');\r\n this.control.control.setValue(removeCommas, { emitEvent: false, emitModelToViewChange: false });\r\n }\r\n }\r\n\r\n transformToCommasAndPoint(value) {\r\n if (value.indexOf(\".\") == -1) {\r\n value = value.toString().replace(/\\D/g, \"\")\r\n .replace(/\\B(?=(\\d{3})+(?!\\d))/g, \",\");\r\n return value\r\n } else {\r\n let val = value.split(\".\");\r\n let valueBeforeDecimal = val[0];\r\n let valueAfterDecimal = val[1];\r\n valueBeforeDecimal = valueBeforeDecimal.toString().replace(/\\D/g, \"\")\r\n .replace(/\\B(?=(\\d{3})+(?!\\d))/g, \",\");\r\n let newValue = `${valueBeforeDecimal}.${valueAfterDecimal}`;\r\n return newValue;\r\n }\r\n }\r\n}","import { Injectable } from '@angular/core';\r\n\r\n@Injectable({\r\n providedIn: 'root'\r\n})\r\nexport class ValidationMessageService {\r\n}\r\n\r\n\r\nexport class MinLengthValidationError {\r\n requirement: number;\r\n\r\n constructor(requirement: number) {\r\n\r\n this.requirement = requirement;\r\n }\r\n\r\n buildMessage() {\r\n return \"Must be a minimum length of \" + this.requirement + \" letters!\";\r\n }\r\n}\r\n\r\nexport class InvalidIntegerNumberValidatorEerror {\r\n buildMessage() {\r\n return \"Must only contain numbers, no decimals or words allowed\";\r\n }\r\n}\r\n\r\nexport class PositiveIntegerNumberValidatorError {\r\n buildMessage() {\r\n return \"Must be a positive integer\";\r\n }\r\n}\r\n\r\n\r\nexport class MaxLengthValidationError {\r\n requirement: number;\r\n\r\n constructor(requirement: number) {\r\n this.requirement = requirement;\r\n }\r\n\r\n buildMessage() {\r\n return \"Must be a maximum length of \" + this.requirement + \" letters!\";\r\n }\r\n}\r\n\r\nexport class MaxValidationError{\r\n requirement: number;\r\n\r\n constructor(requirement: number) {\r\n this.requirement = requirement;\r\n }\r\n\r\n buildMessage() {\r\n return \"The largest acceptable input is \" + this.requirement;\r\n }\r\n}\r\nexport class MinValidationError{\r\n requirement: number;\r\n\r\n constructor(requirement: number) {\r\n this.requirement = requirement;\r\n }\r\n\r\n buildMessage() {\r\n return \"The smallest acceptable input is \" + this.requirement ;\r\n }\r\n}\r\n\r\nexport class PatternValidatorError {\r\n requirement: any;\r\n\r\n constructor(requirement: string) {\r\n this.requirement = requirement\r\n }\r\n\r\n buildMessage() {\r\n if (this.requirement == '^[a-zA-Z ]*$') {\r\n return \"This field must only contain words \";\r\n }\r\n else if (this.requirement == '/[0-9]-[0-9]+$/') {\r\n return \"This field must only contain numbers and a - \" + \"<br>\" + \"Example: 71-716971\";\r\n }\r\n else if (this.requirement = 'forDate') {\r\n return \"Date needs to be DD/MM/YYYY\";\r\n }\r\n }\r\n}\r\n\r\nexport class RequiredValidatorError {\r\n buildMessage() {\r\n return \"This Field Is Required\";\r\n }\r\n}\r\n\r\nexport class EmailValidatorError {\r\n\r\n buildMessage() {\r\n return \"Make Sure It Is An Email Format\" + \"<br>\" + \"example@jooler.io\";\r\n }\r\n}\r\n\r\nexport class ValidationError {\r\n static getRelevantError(validationType: string, validationValue: any) {\r\n let validationMessage;\r\n validationMessage = this.MessageDictionary(validationValue, validationType);\r\n return validationMessage;\r\n }\r\n\r\n\r\n static MessageDictionary(value, validationType) {\r\n let ValidationMessageForInput = {\r\n 'minlength': new MinLengthValidationError(value).buildMessage(),\r\n 'maxlength': new MaxLengthValidationError(value).buildMessage(),\r\n 'max': new MaxValidationError(value).buildMessage(),\r\n 'min': new MinValidationError(value).buildMessage(),\r\n 'pattern': new PatternValidatorError(value).buildMessage(),\r\n 'required': new RequiredValidatorError().buildMessage(),\r\n 'email': new EmailValidatorError().buildMessage(),\r\n 'invalidIntegerNumber': new InvalidIntegerNumberValidatorEerror().buildMessage(),\r\n 'invalidPositiveInteger': new PositiveIntegerNumberValidatorError().buildMessage(),\r\n }\r\n return ValidationMessageForInput[validationType];\r\n }\r\n\r\n static validationMessageForDate = {\r\n 'required': new RequiredValidatorError().buildMessage(),\r\n 'pattern': new PatternValidatorError('forDate').buildMessage(),\r\n }\r\n\r\n}\r\n","import { Directive, Input, HostListener, ElementRef, OnInit, OnDestroy, EventEmitter, Output } from '@angular/core';\r\nimport { NgControl, NgModel, ValidationErrors } from '@angular/forms';\r\nimport { Subscription } from 'rxjs';\r\nimport { ValidationError } from './services/validation-message.service';\r\n\r\n@Directive({\r\n selector: '[appFormControlValidationMsgForInputs]',\r\n providers: [NgModel],\r\n})\r\nexport class FormControlValidationMsgDirectiveForInput implements OnInit, OnDestroy {\r\n errorMessage: any;\r\n errorNgSelectMessage: any;\r\n @Input('showBoxError') showBoxError: boolean=true;\r\n @Input('errorDivId') errorDivId: any;\r\n @Input('beforeBegin') beforeBegin: boolean = false;\r\n @Input('afterEnd') afterEnd: boolean = false;\r\n validationError = ValidationError;\r\n statusChangeSubscription: Subscription;\r\n\r\n constructor(\r\n private elRef: ElementRef,\r\n private control: NgControl,\r\n ) { }\r\n\r\n ngOnInit(): void {\r\n this.statusChangeSubscription = this.control.statusChanges.subscribe(\r\n (status) => {\r\n if (status == 'INVALID') {\r\n this.showError();\r\n\r\n } else {\r\n this.removeError();\r\n }\r\n }\r\n )\r\n this.control.valueChanges.subscribe({\r\n next: (response) => {\r\n if (this.control.errors) {\r\n this.showError();\r\n }\r\n }\r\n });\r\n }\r\n\r\n ngOnDestroy(): void {\r\n this.statusChangeSubscription.unsubscribe();\r\n }\r\n\r\n @HostListener('blur', [\"$event\"])\r\n handleBlurEvent(event) {\r\n if (this.control.errors) {\r\n this.showError();\r\n }\r\n else {\r\n this.removeError();\r\n }\r\n }\r\n\r\n\r\n private showError() {\r\n this.removeError();\r\n const valErrors: ValidationErrors = this.control.errors;\r\n const keys = Object.keys(valErrors);\r\n for (let i = 0; i < keys.length; i++) {\r\n switch (keys[i]) {\r\n case 'minlength': {\r\n let message = this.validationError.getRelevantError(keys[i], valErrors.minlength.requiredLength);\r\n this.errorMessage += ` ${this.errorMessage ? \"<br>\" : \"\"}${\"\\u25CF \" + message}`;\r\n \r\n break;\r\n }\r\n case 'required': {\r\n let message = this.validationError.getRelevantError(keys[i], valErrors);\r\n this.errorMessage += ` ${this.errorMessage ? \"<br>\" : \"\"}${\"\\u25CF \" + message}`;\r\n this.control.control.setErrors({ 'required': true, 'message': message },{ emitEvent:false})\r\n break;\r\n }\r\n case 'maxlength': {\r\n let message = this.validationError.getRelevantError(keys[i], valErrors.maxlength.requiredLength);\r\n this.errorMessage += ` ${this.errorMessage ? \"<br>\" : \"\"}${\"\\u25CF \" + message}`;\r\n this.control.control.setErrors({ 'maxlength': { 'requiredLength': valErrors.maxlength.requiredLength }, 'message': message}, { emitEvent: false })\r\n break;\r\n }\r\n case 'max': {\r\n let message = this.validationError.getRelevantError(keys[i], valErrors.max.max\r\n );\r\n this.errorMessage += ` ${this.errorMessage ? \"<br>\" : \"\"}${\"\\u25CF \" + message}`;\r\n this.control.control.setErrors({ 'message': message, 'max': { 'max': valErrors.max.max } }, { emitEvent: false })\r\n break;\r\n }\r\n case 'min': {\r\n let message = this.validationError.getRelevantError(keys[i], valErrors.min.min\r\n );\r\n this.errorMessage += ` ${this.errorMessage ? \"<br>\" : \"\"}${\"\\u25CF \" + message}`;\r\n break;\r\n }\r\n\r\n case 'pattern': {\r\n let message = this.validationError.getRelevantError(keys[i], valErrors.pattern.requiredPattern);\r\n this.errorMessage += ` ${this.errorMessage ? \"<br>\" : \"\"}${\"\\u25CF \" + message}`;\r\n break;\r\n }\r\n case 'email': {\r\n let message = this.validationError.getRelevantError(keys[i], valErrors);\r\n this.errorMessage += ` ${this.errorMessage ? \"<br>\" : \"\"}${\"\\u25CF \" + message}`;\r\n break;\r\n }\r\n case 'invalidIntegerNumber': {\r\n let message = this.validationError.getRelevantError(keys[i], valErrors);\r\n this.errorMessage += ` ${this.errorMessage ? \"<br>\" : \"\"}${\"\\u25CF \" + message}`;\r\n break;\r\n }\r\n case 'invalidPositiveInteger': {\r\n let message = this.validationError.getRelevantError(keys[i], valErrors);\r\n this.errorMessage += ` ${this.errorMessage ? \"<br>\" : \"\"}${\"\\u25CF \" + message}`;\r\n this.control.control.setErrors({ 'invalidPositiveInteger': true, 'message': message }, { emitEvent: false })\r\n break;\r\n }\r\n\r\n }\r\n }\r\n if (this.showBoxError){\r\n const errDiv = '<div style=\"color:#C34243; width=100%; background-color: #FFDBDB; padding: 1rem; border-radius: .5rem; border: .1rem solid #A80002 ;border-left: .75rem solid #A80002; margin-top:.5rem; font-size: 1.2rem; \" id=\"' + this.errorDivId + '\">' + '<h3 style= \" font-size: 1.3rem; margin-bottom:.5rem; margin:0; color: #A80002; font-weight: 700; line-height: 1.6rem;\">' + 'Please Complete all details' + '</h3>' + this.errorMessage + '</div>';\r\n if (!this.beforeBegin && !this.afterEnd)\r\n this.elRef.nativeElement.parentElement.parentElement.parentElement.parentElement.insertAdjacentHTML('afterend', errDiv);\r\n else if (this.beforeBegin)\r\n this.elRef.nativeElement.insertAdjacentHTML('beforebegin', errDiv);\r\n else if (this.afterEnd)\r\n this.elRef.nativeElement.insertAdjacentHTML('afterend', errDiv);\r\n else\r\n throw Error(\"Adjustment not specified \");\r\n }\r\n }\r\n private removeError(): void {\r\n this.errorMessage = \"\";\r\n const errorElement = document.getElementById(this.errorDivId);\r\n if (errorElement) {\r\n errorElement.remove();\r\n }\r\n }\r\n}","import { DecimalPipe } from '@angular/common';\r\nimport { Component } from '@angular/core';\r\nimport { FormGroup } from '@angular/forms';\r\nimport { ICellRendererAngularComp } from 'ag-grid-angular';\r\n\r\n@Component({\r\n selector: 'general-input-renderer-test',\r\n templateUrl: './general-input-renderer.component.html',\r\n styleUrls: ['./general-input-renderer.component.scss']\r\n})\r\nexport class GeneralInputRendererComponent implements ICellRendererAngularComp {\r\n params: any;\r\n key;\r\n value;\r\n formGroup: any;\r\n formControlName;\r\n\r\n constructor() { }\r\n\r\n agInit(params: any) {\r\n this.params = params;\r\n this.formGroup = this.params.context.formGroup.get('entries').at(params.node.rowIndex) as FormGroup;\r\n this.key = params.context.createKey(params.columnApi, params.column);\r\n if (params.isTypeNumber) {\r\n if (params.value) {\r\n this.value = new DecimalPipe(\"en-US\").transform(\r\n +params.value,\r\n \"1.0-0\"\r\n );\r\n }\r\n }\r\n else {\r\n this.value = params.value;\r\n }\r\n }\r\n\r\n onCellDataChanged($event) {\r\n let value = $event.target.value;\r\n let newAndOldValue = {\r\n newValue: value,\r\n oldValue: this.params?.value\r\n }\r\n if (this.params.allowUpdateRowData) {\r\n this.params.onChange(newAndOldValue);\r\n }\r\n }\r\n\r\n refresh(params: any): boolean {\r\n this.formGroup = this.params.context.formGroup.get('entries').at(params.node.rowIndex);\r\n return true;\r\n }\r\n}","<div *ngIf=\"formGroup\" [formGroup]=\"formGroup\">\r\n <div *ngIf=\"params.isTypeText\">\r\n <input [placeholder]=\"params.fieldLabel\"appFormControlValidationMsgForInputs [showBoxError]=\"false\"\r\n [errorDivId]=\"'text'\" \r\n (change)=\"onCellDataChanged($event)\" [formControlName]=\"key\" />\r\n <span *ngIf=\"params.showSymbol\"\r\n style=\"margin-left:-20px ;\">{{params.symbol}}</span>\r\n <show-table-errors\r\n *ngIf=\"formGroup.get(this.key).errors && formGroup.get(this.key) && formGroup.get(this.key).touched\"\r\n [message]=\"formGroup.get(this.key).errors.message\"></show-table-errors>\r\n </div>\r\n <div *ngIf=\"params.isTypeNumber\">\r\n <input customDecimalPointTwoDigits appFormControlValidationMsgForInputs [showBoxError]=\"false\"\r\n [errorDivId]=\"'number'\" [placeholder]=\"params.fieldLabel\"\r\n (change)=\"onCellDataChanged($event)\" [formControlName]=\"key\" />\r\n <span *ngIf=\"params.showSymbol\"\r\n style=\"margin-left:-20px ;\">{{params.symbol}}</span>\r\n <show-table-errors\r\n *ngIf=\"formGroup.get(this.key).errors && formGroup.get(this.key).touched\"\r\n [message]=\"formGroup.get(this.key).errors.message\"></show-table-errors>\r\n </div>\r\n <div *ngIf=\"params.isTypeIntegerNumber\">\r\n <input appFormControlValidationMsgForInputs [showBoxError]=\"false\"type=\"number\"\r\n [errorDivId]=\"'integer'\" [placeholder]=\"params.fieldLabel\"\r\n (change)=\"onCellDataChanged($event)\" [formControlName]=\"key\" />\r\n <span *ngIf=\"params.showSymbol\"\r\n style=\"margin-left:-20px ;\">{{params.symbol}}</span>\r\n <show-table-errors\r\n *ngIf=\"formGroup.get(this.key).errors && formGroup.get(this.key).touched\"\r\n [message]=\"formGroup.get(this.key).errors.message\"></show-table-errors>\r\n </div>\r\n <div *ngIf=\"params.isTypeTextArea\">\r\n <textarea class=\"text-area\" (change)=\"onCellDataChanged($event)\"\r\n [placeholder]=\"params.fieldLabel\" class=\"main-height\"\r\n [formControlName]=\"key\"></textarea>\r\n </div>\r\n</div>","export class LabelAndField {\r\n label: string;\r\n field: string;\r\n}","export enum DropdownActionType {\r\n ADD = 0,\r\n MENU = 1\r\n}","import { Component, EventEmitter, Input, OnInit, Output } from '@angular/core';\r\nimport { Router } from '@angular/router';\r\nimport { LabelAndRoute } from './label-and-route.model';\r\nimport { DropdownActionType } from './dropdown-action-type.model';\r\n\r\n@Component({\r\n selector: 'dropdown-actions',\r\n templateUrl: './dropdown-actions.component.html',\r\n styleUrls: ['./dropdown-actions.component.scss']\r\n})\r\nexport class DropdownActionsComponent implements OnInit {\r\n dropdownActionTypes = DropdownActionType;\r\n @Input() canRoute: boolean = true;\r\n @Input() disabled: boolean;\r\n @Input() labelsAndRoutes: LabelAndRoute[] = [];\r\n @Input() route: string;\r\n @Input() dropdownActionType: DropdownActionType = this.dropdownActionTypes.ADD;\r\n @Output() addClicked = new EventEmitter();\r\n\r\n constructor(private _Router: Router) { }\r\n\r\n ngOnInit(): void {\r\n this.validateActions();\r\n }\r\n\r\n validateActions() {\r\n if (this.dropdownActionType == this.dropdownActionTypes.ADD) {\r\n if (this.canRoute) {\r\n if (this.route == \"\" || this.route == undefined || this.route == null) {\r\n throw Error(\"Route needs to be provided.\");\r\n }\r\n }\r\n else {\r\n if (this.route) {\r\n throw Error(\"Route shouldn't be provided since canRoute is false\");\r\n }\r\n }\r\n }\r\n else if (this.dropdownActionType == this.dropdownActionTypes.MENU) {\r\n if (!this.labelsAndRoutes.length) {\r\n throw Error(\"A list of labels & Routes need to be provided for the actions menu.\");\r\n }\r\n }\r\n else {\r\n throw Error(\"Dropdown Action Type is not recognized.\")\r\n }\r\n }\r\n\r\n onClickAdd($event) {\r\n $event.preventDefault();\r\n if (this.canRoute && this.route) {\r\n this._Router.navigate([this.route]);\r\n }\r\n this.addClicked.emit();\r\n }\r\n\r\n onClickLabel(route, $event) {\r\n $event.preventDefault();\r\n this._Router.navigate([route]);\r\n }\r\n}\r\n","<div [ngSwitch]=\"dropdownActionType\">\r\n <a *ngSwitchCase=\"dropdownActionTypes.ADD\" [href]=\"route\"\r\n [ngClass]=\"{'action-enabled':!disabled, 'disabled': disabled}\"\r\n (click)=\"onClickAdd($event)\">\r\n <fa-icon icon=\"plus\"></fa-icon>\r\n </a>\r\n <fa-icon *ngSwitchCase=\"dropdownActionTypes.MENU\"\r\n [ngClass]=\"{'action-enabled':!disabled, 'disabled': disabled}\"\r\n class=\"menu\" [matMenuTriggerFor]=\"menu\"\r\n icon=\"ellipsis-vertical\"></fa-icon>\r\n <mat-menu #menu=\"matMenu\">\r\n <button *ngFor=\"let labelAndRoute of labelsAndRoutes\" mat-menu-item>\r\n <a [href]=\"labelAndRoute.route\"\r\n (click)=\"onClickLabel(labelAndRoute.route, $event)\">{{labelAndRoute.label}}</a>\r\n </button>\r\n </mat-menu>\r\n</div>","export class PrimaryColors {\r\n static $primaryBlueColor = '#155ED4';\r\n static $primaryPinkColor = '#F0509C';\r\n static $primaryTealColor = '#12957E';\r\n static $primaryCarbonColor = '#32353B';\r\n static $primaryPurpleColor = '#E3B1EB';\r\n static $primaryRedColor = '#A80002';\r\n static $primaryLightRedColor = '#FFDBDB';\r\n static $primaryLightGrayBlueColor = '#f7f8f9';\r\n static $primaryLightGrayColor = '#f0f0f0';\r\n}","import { Directive, ElementRef, Input, OnChanges, OnInit, SimpleChanges } from '@angular/core'\r\nimport { PrimaryColors } from './primary-colors';\r\n\r\n@Directive({\r\n selector: '[addAsterisk]'\r\n})\r\nexport class AddAsteriskDirective implements OnInit, OnChanges {\r\n @Input('show') show: boolean = true;\r\n\r\n constructor(\r\n private elem: ElementRef) {\r\n }\r\n\r\n ngOnInit() {\r\n this.toggleAsterisk();\r\n }\r\n\r\n ngOnChanges(changes: SimpleChanges): void {\r\n this.toggleAsterisk();\r\n }\r\n\r\n toggleAsterisk() {\r\n const existingAsterisk = this.elem.nativeElement.querySelector('.custom-asterisk');\r\n\r\n if (this.show) {\r\n if (!existingAsterisk) {\r\n const customAsterisk = `<span class=\"custom-asterisk\" style=\"color:${PrimaryColors.$primaryRedColor};\"> *</span> `\r\n this.elem.nativeElement.insertAdjacentHTML('beforeend', customAsterisk);\r\n }\r\n }\r\n else {\r\n if (existingAsterisk) {\r\n existingAsterisk.remove();\r\n }\r\n }\r\n }\r\n}","import { CommonModule } from '@angular/common';\r\nimport { ModuleWithProviders, NgModule } from '@angular/core';\r\nimport { FormsModule, ReactiveFormsModule } from '@angular/forms';\r\nimport { NgSelectModule } from '@ng-select/ng-select';\r\nimport { SharedGeneralComponentsModule } from '@jooler/shared-general-components';\r\nimport { ChooseEnumComponent } from './choose-enum/choose-enum.component';\r\nimport { ChooseEnumRendererComponent } from './choose-enum-renderer/choose-enum-renderer.component';\r\nimport { ChooseGeneralItemComponent } from './choose-general-item/choose-general-item.component';\r\nimport { ChooseLineTypeComponent } from './choose-line-type/choose-line-type.component';\r\nimport { ChooseYesOrNoComponent } from './choose-yes-or-no/choose-yes-or-no.component';\r\nimport { ChooseYesOrNoRendererComponent } from './choose-yes-or-no-renderer/choose-yes-or-no-renderer.component';\r\nimport { EditableSavableInputComponent } from './editable-savable-input/editable-savable-input.component';\r\nimport { GeneralInputRendererComponent } from './general-input-renderer/general-input-renderer.component';\r\nimport { AppMaterialModule } from '@jooler/app-material';\r\nimport { DynamicPipe } from './editable-savable-input/dynamicPipe';\r\nimport { ChooseGeneralItemRendererComponent } from './choose-general-item-renderer/choose-general-item-renderer.component';\r\nimport { CustomDecimalPointTwoDigitsDirective } from './general-input-renderer/custom-decimal-point-two-digits.directive';\r\nimport { ShowTableErrorsComponent } from './show-table-errors/show-table-errors.component';\r\nimport { FormControlValidationMsgDirectiveForInput } from './formcontrol-validation-msg.directive';\r\nimport { FontAwesomeModule } from '@fortawesome/angular-fontawesome';\r\nimport { ChooseGeneralItemService } from './choose-general-item/choose-general-item.service';\r\nimport { DropdownActionsComponent } from './dropdown-actions/dropdown-actions.component';\r\nimport { AddAsteriskDirective } from './add-asterisk.directive';\r\n\r\n\r\n@NgModule({\r\n declarations: [\r\n ChooseEnumComponent,\r\n ChooseEnumRendererComponent,\r\n ChooseGeneralItemComponent,\r\n GeneralInputRendererComponent,\r\n ChooseLineTypeComponent,\r\n ChooseYesOrNoComponent,\r\n ChooseYesOrNoRendererComponent,\r\n EditableSavableInputComponent,\r\n DynamicPipe,\r\n ChooseGeneralItemRendererComponent,\r\n CustomDecimalPointTwoDigitsDirective,\r\n ShowTableErrorsComponent,\r\n FormControlValidationMsgDirectiveForInput,\r\n DropdownActionsComponent,\r\n AddAsteriskDirective\r\n ],\r\n imports: [\r\n CommonModule,\r\n NgSelectModule,\r\n FormsModule,\r\n ReactiveFormsModule,\r\n AppMaterialModule,\r\n SharedGeneralComponentsModule,\r\n FontAwesomeModule,\r\n ],\r\n exports: [\r\n ChooseEnumComponent,\r\n ChooseEnumRendererComponent,\r\n ChooseGeneralItemComponent,\r\n GeneralInputRendererComponent,\r\n ChooseLineTypeComponent,\r\n ChooseYesOrNoComponent,\r\n ChooseYesOrNoRendererComponent,\r\n EditableSavableInputComponent,\r\n DropdownActionsComponent,\r\n DynamicPipe,\r\n AddAsteriskDirective\r\n ]\r\n})\r\nexport class InputsModule {\r\n\r\n public static forRoot(environment: any): ModuleWithProviders<InputsModule> {\r\n\r\n return {\r\n ngModule: InputsModule,\r\n providers: [\r\n ChooseGeneralItemService,\r\n {\r\n provide: 'env',\r\n useValue: environment\r\n }\r\n ]\r\n };\r\n }\r\n}","/*\r\n * Public API Surface of inputs\r\n */\r\n\r\nexport * from './lib/choose-enum/choose-enum.component';\r\nexport * from './lib/show-table-errors/show-table-errors.component';\r\nexport * from './lib/choose-enum-renderer/choose-enum-renderer.component';\r\nexport * from './lib/choose-general-item/choose-general-item.component';\r\nexport * from './lib/choose-general-item-renderer/choose-general-item-renderer.component';\r\nexport * from './lib/choose-line-type/choose-line-type.component';\r\nexport * from './lib/choose-yes-or-no/choose-yes-or-no.component';\r\nexport * from './lib/choose-yes-or-no-renderer/choose-yes-or-no-renderer.component';\r\nexport * from './lib/editable-savable-input/editable-savable-input.component';\r\nexport * from './lib/general-input-renderer/general-input-renderer.component';\r\nexport * from './lib/editable-savable-input/dynamicPipe';\r\nexport * from './lib/choose-general-item/choose-general-item.service';\r\nexport * from './lib/models/label-and-field.model';\r\nexport * from './lib/formcontrol-validation-msg.directive';\r\nexport * from './lib/inputs.module';\r\nexport * from './lib/dropdown-actions/dropdown-actions.component';\r\nexport * from './lib/dropdown-actions/label-and-route.model';\r\nexport * from './lib/dropdown-actions/dropdown-action-type.model';\r\nexport * from './lib/add-asterisk.directive';\r\nexport * from './lib/primary-colors';\r\n\r\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './public-api';\n"],"names":["i3","i2","i1.ChooseEnumComponent","i1.ChooseGeneralItemService","i4","i5","i1.ChooseGeneralItemComponent","i1","i1.ChooseYesOrNoComponent","i4.DynamicPipe","i3.CustomDecimalPointTwoDigitsDirective","i4.ShowTableErrorsComponent","i5.FormControlValidationMsgDirectiveForInput"],"mappings":"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"}
1
+ {"version":3,"file":"inputs.mjs","sources":["../../../projects/inputs/src/lib/custom-theme.ts","../../../projects/inputs/src/lib/models/enum-helper-functions.ts","../../../projects/inputs/src/lib/choose-enum/choose-enum.component.ts","../../../projects/inputs/src/lib/choose-enum/choose-enum.component.html","../../../projects/inputs/src/lib/show-table-errors/show-table-errors.component.ts","../../../projects/inputs/src/lib/show-table-errors/show-table-errors.component.html","../../../projects/inputs/src/lib/choose-enum-renderer/choose-enum-renderer.component.ts","../../../projects/inputs/src/lib/choose-enum-renderer/choose-enum-renderer.component.html","../../../projects/inputs/src/lib/choose-general-item/choose-general-item.service.ts","../../../projects/inputs/src/lib/choose-general-item/choose-general-item.component.ts","../../../projects/inputs/src/lib/choose-general-item/choose-general-item.component.html","../../../projects/inputs/src/lib/choose-general-item-renderer/choose-general-item-renderer.component.ts","../../../projects/inputs/src/lib/choose-general-item-renderer/choose-general-item-renderer.component.html","../../../projects/inputs/src/lib/models/line-type.model.ts","../../../projects/inputs/src/lib/models/line-type-model-helper.ts","../../../projects/inputs/src/lib/choose-line-type/choose-line-type.component.ts","../../../projects/inputs/src/lib/choose-line-type/choose-line-type.component.html","../../../projects/inputs/src/lib/choose-yes-or-no/choose-yes-or-no.component.ts","../../../projects/inputs/src/lib/choose-yes-or-no/choose-yes-or-no.component.html","../../../projects/inputs/src/lib/choose-yes-or-no-renderer/choose-yes-or-no-renderer.component.ts","../../../projects/inputs/src/lib/choose-yes-or-no-renderer/choose-yes-or-no-renderer.component.html","../../../projects/inputs/src/lib/editable-savable-input/dynamicPipeMapping.ts","../../../projects/inputs/src/lib/editable-savable-input/dynamicPipe.ts","../../../projects/inputs/src/lib/editable-savable-input/editable-savable-input.component.ts","../../../projects/inputs/src/lib/editable-savable-input/editable-savable-input.component.html","../../../projects/inputs/src/lib/general-input-renderer/custom-decimal-point-two-digits.directive.ts","../../../projects/inputs/src/lib/services/validation-message.service.ts","../../../projects/inputs/src/lib/formcontrol-validation-msg.directive.ts","../../../projects/inputs/src/lib/general-input-renderer/general-input-renderer.component.ts","../../../projects/inputs/src/lib/general-input-renderer/general-input-renderer.component.html","../../../projects/inputs/src/lib/models/label-and-field.model.ts","../../../projects/inputs/src/lib/dropdown-actions/dropdown-action-type.model.ts","../../../projects/inputs/src/lib/dropdown-actions/dropdown-actions.component.ts","../../../projects/inputs/src/lib/dropdown-actions/dropdown-actions.component.html","../../../projects/inputs/src/lib/primary-colors.ts","../../../projects/inputs/src/lib/add-asterisk.directive.ts","../../../projects/inputs/src/lib/inputs.module.ts","../../../projects/inputs/src/public-api.ts","../../../projects/inputs/src/inputs.ts"],"sourcesContent":["export class CustomTheme {\r\n static $joolerBlue = [\r\n '#e3ecfa',\r\n '#b9cff2',\r\n '#8aafea',\r\n '#5b8ee1',\r\n '#3876da',\r\n '#155ed4',\r\n '#1256cf',\r\n '#0f4cc9',\r\n '#0c42c3',\r\n '#0631b9',\r\n '#e3e8ff',\r\n '#b0bfff',\r\n '#7d95ff',\r\n '#6481ff',\r\n ];\r\n static $joolerTeal = [\r\n '#b8dfd8',\r\n '#89cabf',\r\n '#59b5a5',\r\n '#36a591',\r\n '#12957e',\r\n '#108d76',\r\n '#0d826b',\r\n '#0a7861',\r\n '#05674e',\r\n '#97ffe1',\r\n '#64ffd2',\r\n '#31ffc3',\r\n '#18ffbc',\r\n ];\r\n static $joolerRed = [\r\n '#f5e0e1',\r\n '#e5b3b3',\r\n '#d48081',\r\n '#c24d4e',\r\n '#b52628',\r\n '#a80002',\r\n '#a00002',\r\n '#970001',\r\n '#8d0001',\r\n '#7d0001',\r\n '#ffaaaa',\r\n '#ff7777',\r\n '#ff4444',\r\n '#ff2a2a',\r\n ];\r\n static $joolerPink = [\r\n '#fdeaf3',\r\n '#fbcbe1',\r\n '#f8a8ce',\r\n '#f585ba',\r\n '#f26aab',\r\n '#f0509c',\r\n '#ee4994',\r\n '#ec408a',\r\n '#e93780',\r\n '#e5276e',\r\n '#ffffff',\r\n '#ffeef4',\r\n '#ffbbd3',\r\n '#ffa1c2',\r\n ];\r\n static $joolerPurple = [\r\n '#fcf6fd',\r\n '#f7e8f9',\r\n '#f1d8f5',\r\n '#ebc8f1',\r\n '#e7bdee',\r\n '#e3b1eb',\r\n '#e0aae9',\r\n '#dca1e5',\r\n '#d898e2',\r\n '#d088dd',\r\n '#ffffff',\r\n '#ffffff',\r\n '#ffffff',\r\n '#fcecff',\r\n ];\r\n static $joolerCombo = [\r\n '#b9cff2',\r\n '#b8dfd8',\r\n '#ffaaaa',\r\n '#fbcbe1',\r\n '#f1d8f5',\r\n '#8aafea',\r\n '#97ffe1',\r\n '#ff7777',\r\n '#f585ba',\r\n '#e7bdee',\r\n '#6481ff',\r\n '#18ffbc',\r\n '#ff4444',\r\n '#ffa1c2',\r\n '#e0aae9',\r\n '#1256cf',\r\n '#108d76',\r\n '#df0000',\r\n '#ec408a',\r\n '#d088dd',\r\n ];\r\n}\r\n","import { CustomTheme } from \"../custom-theme\";\r\nimport { EnumOption } from \"./enum-helper.model\";\r\n\r\nexport class EnumHelperBaseClass {\r\n static getEnumOptionsFromEnumClass(\r\n enumClass: any,\r\n customColors?: string[],\r\n isAllCaps?: boolean\r\n ) {\r\n let colors = CustomTheme.$joolerCombo;\r\n\r\n if (customColors && customColors.length > 0) {\r\n colors = customColors;\r\n }\r\n\r\n let stringValues: string[] = [];\r\n let enumOption: EnumOption;\r\n let enumOptions: EnumOption[] = [];\r\n for (let item in enumClass) {\r\n if (isNaN(Number(item))) {\r\n let joinedString: string;\r\n stringValues.push(item);\r\n let splitStr = item.toLowerCase().split('_');\r\n if (!isAllCaps) {\r\n for (let i = 0; i < splitStr.length; i++) {\r\n splitStr[i] =\r\n splitStr[i].charAt(0).toUpperCase() + splitStr[i].substring(1);\r\n }\r\n } else {\r\n for (let i = 0; i < splitStr.length; i++) {\r\n splitStr[i] = splitStr[i].toUpperCase();\r\n }\r\n }\r\n joinedString = splitStr.join(' ');\r\n stringValues.splice(stringValues.indexOf(item), 1, joinedString);\r\n }\r\n }\r\n let repeatedColors = [];\r\n let i = 0;\r\n for (let label of stringValues) {\r\n // in case the array of colors is smaller than the stringValues array, we repeat the the colors so that they are enough\r\n repeatedColors.push(colors[stringValues.indexOf(label) % colors.length]);\r\n enumOption = {\r\n value: Object.keys(enumClass).map(Number)[i],\r\n label: label,\r\n color: repeatedColors[i],\r\n };\r\n enumOptions.push(enumOption);\r\n i++;\r\n }\r\n return enumOptions;\r\n }\r\n\r\n static getLabelAndColorFromEnumValue(\r\n enumClass: any,\r\n enumValue: number,\r\n customColors?: string[]\r\n ) {\r\n let enumOptions: EnumOption[] =\r\n EnumHelperBaseClass.getEnumOptionsFromEnumClass(enumClass, customColors);\r\n let enumOption: EnumOption;\r\n for (let item of enumOptions) {\r\n if (enumValue == item.value) {\r\n enumOption = enumOptions[enumOptions.indexOf(item)];\r\n }\r\n }\r\n return enumOption;\r\n }\r\n}\r\n","import {\r\n Component,\r\n EventEmitter,\r\n forwardRef,\r\n Input,\r\n OnChanges,\r\n OnInit,\r\n Output,\r\n} from '@angular/core';\r\nimport { ControlValueAccessor, NG_VALUE_ACCESSOR } from '@angular/forms';\r\nimport { EnumHelperBaseClass } from '../models/enum-helper-functions';\r\n\r\n@Component({\r\n selector: 'choose-enum',\r\n templateUrl: './choose-enum.component.html',\r\n styleUrls: ['./choose-enum.component.scss'],\r\n providers: [\r\n {\r\n provide: NG_VALUE_ACCESSOR,\r\n useExisting: forwardRef(() => ChooseEnumComponent),\r\n multi: true,\r\n },\r\n ],\r\n})\r\nexport class ChooseEnumComponent\r\n implements OnInit, OnChanges, ControlValueAccessor\r\n{\r\n items: any[];\r\n @Input() appendTo: string = 'body';\r\n @Input() allowAllCapsValues: boolean = false;\r\n @Input() clearable: boolean = true;\r\n @Input() customColors: string[];\r\n @Input() enumChoices: any;\r\n @Input() getValuesArrayFromEnum: Function =\r\n EnumHelperBaseClass.getEnumOptionsFromEnumClass;\r\n @Input() indexesToDisable: number[] = [];\r\n @Input() isChip: boolean = true;\r\n @Input() isDropdownDisabled: boolean = false;\r\n @Input() isItemHidden: boolean;\r\n @Input() isItemDisabled: boolean;\r\n @Input() isMultiple: boolean;\r\n @Input() label: string = 'label';\r\n @Input() labelTextAlign: string = 'left';\r\n @Input() labelTextFontWeight: string;\r\n @Input() labelTextFontSize: string;\r\n @Input() paddingTop: number;\r\n @Input() placeholder: string;\r\n @Input() percentWidth: boolean = false;\r\n @Input() selectedItem: any;\r\n @Input() width: number;\r\n @Output() change = new EventEmitter();\r\n @Output() close = new EventEmitter();\r\n\r\n constructor() {}\r\n\r\n ngOnChanges() {\r\n if (this.getValuesArrayFromEnum != null) {\r\n this.items = this.getValuesArrayFromEnum(\r\n this.enumChoices,\r\n this.customColors,\r\n this.allowAllCapsValues\r\n );\r\n }\r\n if (this.isItemDisabled == true) {\r\n if (this.indexesToDisable.length > 0) {\r\n for (let index of this.indexesToDisable) {\r\n this.items[index].disabled = true;\r\n }\r\n }\r\n }\r\n if (this.isItemHidden == true) {\r\n if (this.indexesToDisable.length > 0) {\r\n for (let index of this.indexesToDisable) {\r\n let itemIndex = this.items.findIndex((item) => item.value == index);\r\n this.items.splice(itemIndex, 1);\r\n }\r\n }\r\n }\r\n }\r\n\r\n ngOnInit() {\r\n if (this.getValuesArrayFromEnum != null) {\r\n this.items = this.getValuesArrayFromEnum(\r\n this.enumChoices,\r\n this.customColors,\r\n this.allowAllCapsValues\r\n );\r\n }\r\n\r\n if (this.isItemDisabled == true) {\r\n if (this.indexesToDisable.length > 0) {\r\n for (let index of this.indexesToDisable) {\r\n this.items[index].disabled = true;\r\n }\r\n }\r\n }\r\n if (this.isItemHidden == true) {\r\n if (this.indexesToDisable.length > 0) {\r\n for (let index of this.indexesToDisable) {\r\n let itemIndex = this.items.findIndex((item) => item.value == index);\r\n this.items.splice(itemIndex, 1);\r\n }\r\n }\r\n }\r\n }\r\n\r\n writeValue(type: number) {\r\n if (type != undefined) {\r\n this.selectedItem = type;\r\n } else if (type == null) {\r\n this.selectedItem = type;\r\n }\r\n }\r\n\r\n public registerOnChange(fn: any) {\r\n this.propagateChange = fn;\r\n }\r\n\r\n public registerOnTouched(fn: any) {\r\n this.propogateTouch = fn;\r\n }\r\n\r\n private propagateChange = (_: any) => {};\r\n private propogateTouch = () => {};\r\n\r\n updateBlur() {\r\n this.propogateTouch();\r\n this.close.emit();\r\n }\r\n\r\n onSelectedItemChanged() {\r\n this.propagateChange(this.selectedItem);\r\n this.change.emit(this.selectedItem);\r\n }\r\n\r\n setDisabledState(isDisabled: boolean) {\r\n this.isDropdownDisabled = isDisabled;\r\n }\r\n\r\n clear() {\r\n this.selectedItem = null;\r\n }\r\n\r\n setStyles() {\r\n let style = {\r\n paddingTop: this.paddingTop + 'rem',\r\n };\r\n if (this.width) {\r\n style['width'] = this.width + 'rem';\r\n }\r\n return style;\r\n }\r\n\r\n setLabelStyle() {\r\n let style = {\r\n textAlign: this.labelTextAlign,\r\n fontWeight: this.labelTextFontWeight,\r\n fontSize: this.labelTextFontSize + 'rem',\r\n };\r\n return style;\r\n }\r\n}\r\n","<div class=\"select\">\r\n <ng-select\r\n [ngStyle]=\"setStyles()\"\r\n (blur)=\"updateBlur()\"\r\n bindLabel=\"label\"\r\n bindValue=\"value\"\r\n [items]=\"items\"\r\n [placeholder]=\"placeholder\"\r\n (change)=\"onSelectedItemChanged()\"\r\n [(ngModel)]=\"selectedItem\"\r\n [multiple]=\"isMultiple\"\r\n [disabled]=\"isDropdownDisabled\"\r\n [clearable]=\"clearable\"\r\n [clearAllText]=\"'clear everything'\"\r\n (clear)=\"clear()\"\r\n [appendTo]=\"appendTo\"\r\n dropdownPosition=\"bottom\">\r\n <ng-template\r\n class=\"template\"\r\n ng-option-tmp\r\n ng-label-tmp\r\n let-item=\"item\"\r\n let-index=\"index\"\r\n let-search=\"searchTerm\">\r\n <div *ngIf=\"isChip\">\r\n <ng-chip [enumClass]=\"enumChoices\" [enumValue]=\"item.value\" [customColors]=\"customColors\">\r\n </ng-chip>\r\n </div>\r\n <div [ngStyle]=\"setLabelStyle()\" *ngIf=\"!isChip\">{{ item.label }}</div>\r\n </ng-template>\r\n </ng-select>\r\n</div>\r\n","import { Component, Input, OnInit } from '@angular/core';\r\n\r\n@Component({\r\n selector: 'show-table-errors',\r\n templateUrl: './show-table-errors.component.html',\r\n styleUrls: ['./show-table-errors.component.scss']\r\n})\r\nexport class ShowTableErrorsComponent implements OnInit {\r\n @Input() message: any;\r\n showDetails: boolean;\r\n ngOnInit() {\r\n }\r\n\r\n onMouseEnter() {\r\n this.showDetails = true;\r\n }\r\n\r\n onMouseLeave() {\r\n this.showDetails = false;\r\n }\r\n\r\n}\r\n","<div (mouseenter)=\"onMouseEnter()\"(mouseleave)=\"onMouseLeave()\" class=\"icon\">\r\n <fa-icon class=\"icon\" icon=\"info-circle\" ></fa-icon>\r\n <span *ngIf=\"message\" class=\"message\"\r\n [ngClass]=\"{'no-details' : !showDetails , 'details': showDetails}\">{{message}}</span>\r\n</div>","import { Component } from '@angular/core';\r\nimport { ICellRendererAngularComp } from 'ag-grid-angular';\r\n\r\n@Component({\r\n selector: 'choose-enum-renderer',\r\n templateUrl: './choose-enum-renderer.component.html',\r\n styleUrls: ['./choose-enum-renderer.component.scss']\r\n})\r\nexport class ChooseEnumRendererComponent implements ICellRendererAngularComp {\r\n params: any;\r\n formControlValue;\r\n key;\r\n enumValue: number;\r\n rowId: number;\r\n\r\n constructor() { }\r\n\r\n agInit(params: any) {\r\n this.params = params;\r\n this.enumValue = params.value;\r\n this.key = params.context.createKey(params.columnApi, params.column);\r\n }\r\n\r\n onCellDataChanged($event) {\r\n let value: any = $event;\r\n this.formControlValue = this.params.context.formGroup.get(\"entries\").at(this.params.node.rowIndex);\r\n this.formControlValue?.get(this.key).setValue(value);\r\n\r\n }\r\n\r\n refresh(params: any): boolean {\r\n return false;\r\n }\r\n}\r\n","<choose-enum [label]=\"params.label\" [appendTo]=\"'body'\" [isItemHidden]=\"params.isItemHidden\"\r\n [isItemDisabled]=\"params.isItemDisabled\" [labelTextAlign]=\"params.labelTextAlign\"\r\n [labelTextFontWeight]=\"params.labelTextFontWeight\" [labelTextFontSize]=\"params.labelTextFontSize\"\r\n [selectedItem]=\"params.value\" [indexesToDisable]=\"params.indexesToDisable\"\r\n [isDropdownDisabled]=\"params.isDropdownDisabled\" [getValuesArrayFromEnum]=\"params.getLabelAndColorFromEnumValue\"\r\n [enumChoices]=\"params.enumChoices\" [placeholder]=\"params.placeholder\" [width]=\"params.width\"\r\n [isChip]=\"params.isChip\" [paddingTop]=\"params.paddingTop\" [allowAllCapsValues]=\"params.allowAllCapsValues\"\r\n (change)=\"onCellDataChanged($event)\">\r\n</choose-enum>","import { Inject, Injectable } from '@angular/core';\r\nimport { HttpClient, HttpHeaders } from '@angular/common/http';\r\nimport { Observable } from 'rxjs';\r\n// import { environment } from '../../environments/environment';\r\n\r\n@Injectable({\r\n providedIn: 'root'\r\n})\r\nexport class ChooseGeneralItemService {\r\n // baseUrl: string = environment.apiURL;\r\n\r\n constructor(private http: HttpClient, @Inject('env') private env) { }//we have an issue with this line of code...can we meet to resolve it!\r\n\r\n getHeaders() {\r\n const token = localStorage.getItem(\"token\");\r\n const httpHeaders = new HttpHeaders(\r\n {\r\n 'Content-Type': \"application/json\",\r\n 'Authorization': 'Token ' + token\r\n });\r\n return { headers: httpHeaders };\r\n }\r\n\r\n getAuthenticationHeadersWithQueryParams(params) {\r\n const token = localStorage.getItem(\"token\");\r\n const httpHeaders = new HttpHeaders(\r\n {\r\n 'Content-Type': \"application/json\",\r\n 'Authorization': 'Token ' + token\r\n }\r\n );\r\n return { headers: httpHeaders, params: params };\r\n }\r\n\r\n getData(apiPath: string): Observable<any> {\r\n return this.http.get(`${this.env.apiURL}${apiPath}`, this.getHeaders());\r\n }\r\n}\r\n","import { Component, EventEmitter, forwardRef, Input, OnInit, Output } from '@angular/core';\r\nimport { ControlValueAccessor, NG_VALUE_ACCESSOR } from '@angular/forms';\r\nimport { LabelAndField } from '../models/label-and-field.model';\r\nimport { ChooseGeneralItemService } from './choose-general-item.service';\r\n\r\n@Component({\r\n selector: 'choose-general-item',\r\n templateUrl: './choose-general-item.component.html',\r\n styleUrls: ['./choose-general-item.component.scss'],\r\n providers: [\r\n {\r\n provide: NG_VALUE_ACCESSOR,\r\n useExisting: forwardRef(() => ChooseGeneralItemComponent),\r\n multi: true,\r\n },\r\n ],\r\n})\r\nexport class ChooseGeneralItemComponent implements OnInit, ControlValueAccessor {\r\n @Output() change = new EventEmitter();\r\n @Input() items: any[];\r\n @Input() label: string;\r\n @Input() appendTo: string;\r\n @Input() placeholder: string;\r\n @Input() apiPath: string;\r\n @Input() isMultiple: boolean;\r\n @Input() hideSelectedItem: boolean;\r\n @Input() objects: LabelAndField[];\r\n @Input() showLabel: boolean;\r\n @Input() separator: string;\r\n @Input() width: number = 20;\r\n @Input() fontWeight: number;\r\n @Input() fontSize: number;\r\n @Input() isChip: Boolean = false;\r\n @Input() isTypeDate: boolean;\r\n @Input() chipColor: string = 'black';\r\n @Input() chipTextColor: string = 'white';\r\n @Input() chipWidth: number = 11;\r\n @Input() selectedItemId: number | number[];\r\n @Input() disabled: boolean;\r\n @Input() useFullObject: boolean = false;\r\n\r\n constructor(\r\n private _ChooseGeneralItemService: ChooseGeneralItemService\r\n ) { }\r\n\r\n ngOnInit(): void {\r\n if (!this.items)\r\n this.getData();\r\n }\r\n\r\n writeValue(item: any) {\r\n if (item != undefined) {\r\n this.selectedItemId = item;\r\n }\r\n else if (item == null) {\r\n this.selectedItemId = item;\r\n }\r\n }\r\n\r\n public registerOnChange(fn: any) {\r\n this.propagateChange = fn;\r\n }\r\n\r\n public registerOnTouched(fn: any) {\r\n this.propogateTouch = fn;\r\n }\r\n\r\n private propagateChange = (_: any) => { };\r\n private propogateTouch = () => { };\r\n\r\n updateBlur() {\r\n this.propogateTouch();\r\n }\r\n\r\n onSelectedItemChanged($event) {\r\n this.propagateChange(this.useFullObject ? $event : this.selectedItemId);\r\n this.change.emit(this.useFullObject ? $event : this.selectedItemId);\r\n }\r\n\r\n getData() {\r\n if (this.apiPath) {\r\n this._ChooseGeneralItemService.getData(this.apiPath).subscribe({\r\n next: (response: any[]) => {\r\n this.items = response;\r\n },\r\n error: (error) => console.error(\"error\", error)\r\n })\r\n }\r\n }\r\n\r\n setWidth() {\r\n let style = {\r\n width: this.width + \"rem\"\r\n }\r\n return style;\r\n }\r\n\r\n setFontStyles() {\r\n let fontStyle = {\r\n fontWeight: this.fontWeight,\r\n fontSize: this.fontSize + \"rem\",\r\n }\r\n return fontStyle;\r\n }\r\n}\r\n","<div class=\"select\">\r\n <ng-select [hideSelected]=\"hideSelectedItem\" [closeOnSelect]=\"!isMultiple\" [ngStyle]=\"setWidth()\" class=\"component\"\r\n [disabled]=\"disabled\" [appendTo]=\"appendTo\" dropdownPosition=\"bottom\" (blur)=\"updateBlur()\" [bindLabel]=\"label\"\r\n bindValue=\"id\" [compareWith]=\"\" [items]=\"items\" [placeholder]=\"placeholder\"\r\n (change)=\"onSelectedItemChanged($event)\" [(ngModel)]=\"selectedItemId\" [multiple]=\"isMultiple\">\r\n <ng-template *ngIf=\"!isChip\" class=\"template\" ng-option-tmp ng-label-tmp let-item=\"item\" let-index=\"index\"\r\n let-search=\"searchTerm\">\r\n <span [ngStyle]=\"setFontStyles()\" *ngFor=\"let object of objects let isLast = last\">\r\n <span *ngIf=\"showLabel && !isTypeDate\">\r\n {{object.label}}: {{item[object.field]}} {{isLast ? \"\" : separator}}\r\n </span>\r\n <span *ngIf=\"showLabel && isTypeDate\">\r\n {{object.label}}: {{item[object.field]| date: 'mediumDate'}} {{isLast ? \"\" : separator}}\r\n </span>\r\n <span *ngIf=\"!showLabel && isTypeDate\">\r\n {{item[object.field]| date: 'mediumDate'}} {{isLast ? \"\" : separator}}\r\n </span>\r\n <span *ngIf=\"!showLabel && !isTypeDate\">{{item[object.field]}}{{isLast ? \"\" : separator}}\r\n </span>\r\n </span>\r\n </ng-template>\r\n <ng-template *ngIf=\"isChip\" ng-label-tmp let-item=\"item\" let-clear=\"clear\">\r\n <ng-chip (mousedown)=\"$event.stopPropagation()\" [clear]=\"clear\" [withCross]=\"isMultiple\" [item]=\"item\"\r\n class=\"chip\" [backgroundColor]=\"chipColor\" [label]=\"item[objects[0].field]\"\r\n [width]=\"chipWidth\">\r\n </ng-chip>\r\n </ng-template>\r\n <ng-template *ngIf=\"isChip\" ng-option-tmp let-clear=\"clear\" let-item=\"item\">\r\n <ng-chip (mousedown)=\"$event.stopPropagation()\" [clear]=\"clear\" [withCross]=\"false\" [item]=\"item\"\r\n class=\"chip\" [backgroundColor]=\"chipColor\" [label]=\"item[objects[0].field]\"\r\n [width]=\"chipWidth\">\r\n </ng-chip>\r\n </ng-template>\r\n </ng-select>\r\n</div>","import { Component } from '@angular/core';\r\nimport { ICellRendererAngularComp } from 'ag-grid-angular';\r\n\r\n@Component({\r\n selector: 'choose-general-item-renderer',\r\n templateUrl: './choose-general-item-renderer.component.html',\r\n styleUrls: ['./choose-general-item-renderer.component.scss']\r\n})\r\nexport class ChooseGeneralItemRendererComponent implements ICellRendererAngularComp {\r\n params: any;\r\n formControlValue;\r\n key;\r\n itemId: number;\r\n rowId: number;\r\n\r\n constructor() { }\r\n\r\n agInit(params: any): void {\r\n this.params = params;\r\n this.itemId = params.data.id;\r\n this.key = params.context.createKey(params.columnApi, params.column);\r\n this.rowId = params.node.id;\r\n }\r\n\r\n onCellDataChanged($event) {\r\n let value: any = $event;\r\n this.formControlValue = this.params.context.formGroup.get(\"entries\").at(this.rowId);\r\n this.formControlValue.get(this.key).setValue(value);\r\n const params = {\r\n value: value,\r\n rowNode: this.params.node,\r\n };\r\n this.params.onCellValueChanged(params);\r\n }\r\n\r\n refresh(params: any): boolean {\r\n return true\r\n }\r\n}\r\n","<choose-general-item [label]=\"params.label\" [appendTo]=\"'body'\" [placeholder]=\"params.placeholder\"\r\n [apiPath]=\"params.apiPath\" [isMultiple]=\"params.isMultiple\" [objects]=\"params.objects\"\r\n [showLabel]=\"params.showLabel\" [separator]=\"params.separator\" [width]=\"params.width\"\r\n [fontWeight]=\"params.fontWeight\" [fontSize]=\"params.fontSize\" [isChip]=\"params.isChip\"\r\n [isTypeDate]=\"params.isTypeDate\" [chipColor]=\"params.chipColor\" [chipTextColor]=\"params.chipTextColor\"\r\n [chipWidth]=\"params.chipWidth\" [selectedItemId]=\"itemId\" [disabled]=\"params.disabled\"\r\n (change)=\"onCellDataChanged($event)\">\r\n</choose-general-item>","export enum LineType {\r\n INCLUDE = 0,\r\n DO_NOT_INCLUDE = 1,\r\n}","import { EnumOption } from \"@jooler/shared-general-components\";\r\nimport { LineType } from \"./line-type.model\";\r\n\r\nexport class LineTypeModelHelper {\r\n\r\n static label: string;\r\n static color: string;\r\n static description: string;\r\n static value: any;\r\n\r\n static getItems() {\r\n let items: EnumOption[] = [];\r\n let values = Object.values(LineType);\r\n let types = values.filter(value =>\r\n typeof value === 'number') as number[];\r\n for (let value of types) {\r\n this.setStringValueAndColor(value);\r\n items.push({ value: value, label: this.label, color: this.color, description: this.description })\r\n }\r\n return items\r\n }\r\n\r\n static setStringValueAndColor(type: LineType) {\r\n switch (type) {\r\n case LineType.INCLUDE:\r\n return this.label = \"Include\", this.color = \"gold\";\r\n break;\r\n case LineType.DO_NOT_INCLUDE:\r\n return this.label = \"Do Not Include\", this.color = \"platinum\";\r\n break;\r\n default:\r\n return this.label = \"Undefined\", this.color = \"Gray\"\r\n }\r\n }\r\n\r\n getValue(label: string) {\r\n let value;\r\n switch (label) {\r\n case \"Include\":\r\n return value = 0;\r\n break;\r\n case \"Do Not Include\":\r\n return value = 1;\r\n break;\r\n default:\r\n return null\r\n }\r\n }\r\n static getLabelAndColorForValue(value: number) {\r\n for (let item of this.getItems()) {\r\n if (item.value == value) {\r\n this.value = item;\r\n return this.value\r\n }\r\n }\r\n }\r\n}","import { Component, forwardRef, OnInit } from '@angular/core';\r\nimport { NG_VALUE_ACCESSOR } from '@angular/forms';\r\nimport { LineTypeModelHelper } from '../models/line-type-model-helper';\r\n\r\n@Component({\r\n selector: 'choose-line-type',\r\n templateUrl: './choose-line-type.component.html',\r\n styleUrls: ['./choose-line-type.component.scss'],\r\n providers: [\r\n {\r\n provide: NG_VALUE_ACCESSOR,\r\n useExisting: forwardRef(() => ChooseLineTypeComponent),\r\n multi: true,\r\n },\r\n ],\r\n})\r\nexport class ChooseLineTypeComponent implements OnInit {\r\n items = LineTypeModelHelper;\r\n selectedItem: any;\r\n types: any;\r\n\r\n constructor() { }\r\n\r\n ngOnInit(): void {\r\n this.types = this.items.getItems();\r\n }\r\n\r\n writeValue(type: any) {\r\n if (type != undefined || type != null) {\r\n this.selectedItem = type;\r\n }\r\n }\r\n\r\n public registerOnChange(fn: any) {\r\n this.propagateChange = fn;\r\n }\r\n\r\n public registerOnTouched(fn: any) {\r\n this.propogateTouch = fn;\r\n }\r\n\r\n private propagateChange = (_: any) => { };\r\n private propogateTouch = () => { };\r\n\r\n updateBlur() {\r\n this.propogateTouch();\r\n }\r\n\r\n onSelectedItemChanged() {\r\n this.propagateChange(this.selectedItem);\r\n }\r\n}\r\n","<div class=\"select\">\r\n <ng-select class=\"type\" appendTo=\"body\" (blur)=\"updateBlur()\" bindLabel=\"label\" bindValue=\"label\" [items]=\"types\"\r\n [placeholder]=\"'Choose A Component'\" (change)=\"onSelectedItemChanged()\" [(ngModel)]=\"selectedItem\">\r\n <ng-template class=\"template\" ng-option-tmp ng-label-tmp let-item=\"item\" let-index=\"index\">\r\n {{item.label}}\r\n </ng-template>\r\n </ng-select>\r\n</div>","import { Component, OnInit, Output, EventEmitter, Input, forwardRef } from '@angular/core';\r\nimport { YesOrNo } from '../models/yes-or-no.model';\r\nimport { NG_VALUE_ACCESSOR } from '@angular/forms';\r\n\r\n@Component({\r\n selector: 'choose-yes-or-no',\r\n templateUrl: './choose-yes-or-no.component.html',\r\n styleUrls: ['./choose-yes-or-no.component.scss'],\r\n providers: [\r\n {\r\n provide: NG_VALUE_ACCESSOR,\r\n useExisting: forwardRef(() => ChooseYesOrNoComponent),\r\n multi: true\r\n }]\r\n})\r\nexport class ChooseYesOrNoComponent implements OnInit {\r\n\r\n @Output() change = new EventEmitter();\r\n items: YesOrNo[] = [{ value: true, label: \"Yes\", color: \"green\" }, { value: false, label: \"No\", color: \"red\" }];\r\n @Input() width: number = 200;\r\n @Input() selectedItemValue: boolean;\r\n @Input() placeholder: string = \"Choose either Yes or No\";\r\n\r\n constructor() { }\r\n\r\n ngOnInit(): void {\r\n }\r\n\r\n writeValue(item: boolean) {\r\n if (item != undefined || item != null) {\r\n this.selectedItemValue = item;\r\n }\r\n }\r\n\r\n public registerOnChange(fn: any) {\r\n this.propagateChange = fn;\r\n }\r\n\r\n public registerOnTouched(fn: any) {\r\n this.propogateTouch = fn;\r\n }\r\n\r\n private propagateChange = (_: any) => { };\r\n private propogateTouch = () => { };\r\n\r\n updateBlur() {\r\n this.propogateTouch();\r\n }\r\n\r\n onSelectedItemChanged() {\r\n this.propagateChange(this.selectedItemValue);\r\n this.change.emit(this.selectedItemValue);\r\n }\r\n\r\n setWidth() {\r\n let style = {\r\n width: this.width + \"px\"\r\n }\r\n return style\r\n }\r\n}\r\n","<div class=\"select\">\r\n <ng-select [ngStyle]=\"setWidth()\" class=\"component\" appendTo=\"body\" (blur)=\"updateBlur()\" [placeholder]=\"placeholder\" bindLabel=\"label\"\r\n bindValue=\"value\" [items]=\"items\" [placeholder]=\"placeholder\" (change)=\"onSelectedItemChanged()\"\r\n [(ngModel)]=\"selectedItemValue\" >\r\n <ng-template class=\"template\" ng-option-tmp ng-label-tmp let-item=\"item\" let-index=\"index\"\r\n let-search=\"searchTerm\">\r\n <span [style.color]=\"item.color\">\r\n {{item.label}}\r\n </span>\r\n </ng-template>\r\n </ng-select>\r\n</div>\r\n","import { Component } from '@angular/core';\r\nimport { ICellRendererAngularComp } from 'ag-grid-angular';\r\n\r\n@Component({\r\n selector: 'choose-yes-or-no-renderer',\r\n templateUrl: './choose-yes-or-no-renderer.component.html',\r\n styleUrls: ['./choose-yes-or-no-renderer.component.scss'],\r\n \r\n})\r\nexport class ChooseYesOrNoRendererComponent implements ICellRendererAngularComp {\r\n params: any;\r\n formControlValue;\r\n key;\r\n booleanValue: boolean;\r\n columnName: string;\r\n rowId: number;\r\n\r\n constructor() { }\r\n\r\n \r\n agInit(params: any) {\r\n this.params = params;\r\n this.booleanValue = params.value; \r\n this.key = params.context.createKey(params.columnApi, params.column);\r\n this.rowId = params.node.id;\r\n }\r\n\r\n onCellDataChanged($event) {\r\n let value: any = $event;\r\n this.formControlValue = this.params.context.formGroup.get(\"entries\").at(this.rowId);\r\n this.formControlValue.get(this.key).setValue(value);\r\n }\r\n\r\n refresh(params: any): boolean {\r\n return false;\r\n }\r\n\r\n}\r\n","<choose-yes-or-no [selectedItemValue]=\"booleanValue\" [width]=\"params.width\" (change) =\"onCellDataChanged($event)\" [placeholder]=\"params.placeholder\" ></choose-yes-or-no>","import { CurrencyPipe } from '@angular/common';\r\n\r\nexport const PIPEMAPPINGS = [\r\n { value: '$', pipe: new CurrencyPipe('en-US') }\r\n];","import { Pipe, PipeTransform } from '@angular/core';\r\nimport { PIPEMAPPINGS } from './dynamicPipeMapping';\r\n\r\n@Pipe({ name: 'dynamicPipe' })\r\nexport class DynamicPipe implements PipeTransform {\r\n transform(value, args: any): any {\r\n for (let val of PIPEMAPPINGS) {\r\n if (val.value === args) {\r\n return val.pipe.transform(value);\r\n }\r\n }\r\n return '';\r\n }\r\n}","import { Component, OnInit, Input, forwardRef, EventEmitter, Output } from '@angular/core';\r\nimport { NG_VALUE_ACCESSOR, ControlValueAccessor } from '@angular/forms';\r\nimport { DynamicPipe } from './dynamicPipe';\r\n@Component({\r\n selector: 'editable-savable-input',\r\n templateUrl: './editable-savable-input.component.html',\r\n styleUrls: ['./editable-savable-input.component.css'],\r\n providers: [DynamicPipe,\r\n {\r\n provide: NG_VALUE_ACCESSOR,\r\n useExisting: forwardRef(() => EditableSavableInputComponent),\r\n multi: true\r\n }\r\n ]\r\n})\r\nexport class EditableSavableInputComponent implements OnInit, ControlValueAccessor {\r\n @Output() saveWasClicked = new EventEmitter();\r\n @Input() defaultvalue: string;\r\n @Input() inputType: string;\r\n @Input() newLabel: string;\r\n @Input() headerLabel: string;\r\n @Input() showUnit: boolean = false;\r\n @Input() unit: string;\r\n @Input() unitType: string;\r\n @Input() isEditable: boolean = true;\r\n @Input() showHeader: boolean = true;\r\n @Input() value: string = \"\";\r\n isAddClickedOn: boolean = false;\r\n isUpdated: boolean = false;\r\n showEdit: boolean = false;\r\n\r\n constructor() { }\r\n\r\n ngOnInit() {\r\n this.initialize();\r\n }\r\n\r\n initialize() {\r\n if (this.value == \"\") {\r\n this.isUpdated = false;\r\n }\r\n else {\r\n this.isUpdated = true;\r\n }\r\n }\r\n\r\n onClickAdd() {\r\n this.isAddClickedOn = true;\r\n }\r\n\r\n onClickCancel() {\r\n this.isAddClickedOn = false;\r\n }\r\n\r\n onClickSave(input) {\r\n this.isAddClickedOn = false;\r\n let value = input.value;\r\n if (value.trim().length == 0) {\r\n this.isUpdated = false;\r\n }\r\n else {\r\n this.isUpdated = true;\r\n }\r\n this.value = value;\r\n this.saveWasClicked.emit(value);\r\n this.propagateChange(this.value);\r\n }\r\n\r\n onClickEdit() {\r\n this.isAddClickedOn = true;\r\n }\r\n\r\n onMouseEnter() {\r\n this.showEdit = true;\r\n }\r\n\r\n onMouseLeave() {\r\n this.showEdit = false;\r\n }\r\n\r\n writeValue(value: string) {\r\n if (value) {\r\n this.value = value;\r\n this.isUpdated = true;\r\n }\r\n }\r\n\r\n // registers 'fn' that will be fired wheb changes are made\r\n // this is how we emit the changes back to the form\r\n public registerOnChange(fn: any) {\r\n this.propagateChange = fn;\r\n }\r\n\r\n public registerOnTouched(fn: any) {\r\n this.propogateTouch = fn;\r\n }\r\n // the method set in registerOnChange to emit changes back to the form\r\n private propagateChange = (_: any) => { };\r\n private propogateTouch = () => { };\r\n\r\n onChange($event) {\r\n //this.propagateChange(this.value);\r\n }\r\n\r\n updateBlur() {\r\n this.propogateTouch();\r\n }\r\n}\r\n","<div *ngIf=\"showHeader\" class=\"header\">\r\n {{headerLabel}}\r\n</div>\r\n<div class=\"container\" [ngClass]=\"{'closed':!isAddClickedOn, 'open': isAddClickedOn}\">\r\n <div class=\"content\">\r\n <div class=\"default-content\" *ngIf=\"!isAddClickedOn && !isUpdated && isEditable\">\r\n <div class=\"add\" (click)=\"onClickAdd()\">\r\n {{defaultvalue}} </div>\r\n </div>\r\n <div class=\"edit-content\" *ngIf=\"isAddClickedOn\">\r\n <label class=\"input-label\" for=\"input\">{{newLabel}}</label>\r\n <div class=\"input \" [ngClass]=\"{'input-with-appended-unit': showUnit}\">\r\n <span *ngIf=\"showUnit\">{{unit}}</span>\r\n <input (change)=\"onChange($event)\" (blur)=\"updateBlur()\" [ngModel]=\"value\" [value]=\"value\" id=\"input\" #input\r\n class=\"form-control\" [ngClass]=\"{'input-box': showUnit}\" [type]=\"inputType\">\r\n </div>\r\n <div class=\"edit-actions\">\r\n <button type=\"button\" class=\"btn cancel\" (click)=\"onClickCancel()\" mat-raised-button>Cancel</button>\r\n <button type=\"button\" class=\"save\" (click)=\"onClickSave(input)\" mat-raised-button color=\"primary\">Save</button>\r\n </div>\r\n </div>\r\n <div class=\"updated-content closed\" *ngIf=\"!isAddClickedOn && isUpdated\" (mouseenter)=\"onMouseEnter()\"\r\n (mouseleave)=\"onMouseLeave()\">\r\n <div class=\"edit-icon-container\" *ngIf=\"showEdit && isEditable\" (click)=\"onClickEdit()\">\r\n <i class=\"fas fa-pencil-alt\"></i>\r\n </div>\r\n <div class=\"updated\">\r\n <span class=\"updated-label\">\r\n <label for=\"input\">{{newLabel}}</label>\r\n </span>\r\n <span *ngIf=\"!showUnit\">{{value}}</span>\r\n <span *ngIf=\"showUnit\" class=\"updated-value\">\r\n {{value | dynamicPipe: unitType}}\r\n </span>\r\n </div>\r\n </div>\r\n </div>\r\n</div>","import { DecimalPipe } from '@angular/common';\r\nimport { Directive, HostListener, OnInit } from '@angular/core';\r\nimport { NgControl, NgModel } from '@angular/forms';\r\n\r\n\r\n@Directive({\r\n selector: '[customDecimalPointTwoDigits]',\r\n providers: [NgModel, DecimalPipe],\r\n})\r\nexport class CustomDecimalPointTwoDigitsDirective implements OnInit {\r\n valueSubscription: any;\r\n constructor(\r\n private control: NgControl,\r\n ) { }\r\n\r\n ngOnInit(): void {\r\n if (this.control.value) {\r\n this.control.valueAccessor.writeValue(this.transformToCommasAndPoint(this.control.value));\r\n }\r\n this.valueSubscription = this.control.control.valueChanges.subscribe(\r\n value => {\r\n if (value.length > 0) {\r\n let removeCommas = this.control.value.replace(/,/g, '');\r\n this.control.control.setValue(removeCommas, { emitEvent: false, emitModelToViewChange: false });\r\n }\r\n else {\r\n this.control.control.setValue(null, { emitEvent: false, emitModelToViewChange: false });\r\n }\r\n }\r\n );\r\n }\r\n\r\n @HostListener(\"input\", [\"$event\"]) onEvent($event) {\r\n if (this.control.value) {\r\n const item = $event.target;\r\n item.value = this.transformToCommasAndPoint(this.control.value);\r\n let removeCommas = this.control.value.replace(/,/g, '');\r\n this.control.control.setValue(removeCommas, { emitEvent: false, emitModelToViewChange: false });\r\n }\r\n }\r\n\r\n transformToCommasAndPoint(value) {\r\n if (value.indexOf(\".\") == -1) {\r\n value = value.toString().replace(/\\D/g, \"\")\r\n .replace(/\\B(?=(\\d{3})+(?!\\d))/g, \",\");\r\n return value\r\n } else {\r\n let val = value.split(\".\");\r\n let valueBeforeDecimal = val[0];\r\n let valueAfterDecimal = val[1];\r\n valueBeforeDecimal = valueBeforeDecimal.toString().replace(/\\D/g, \"\")\r\n .replace(/\\B(?=(\\d{3})+(?!\\d))/g, \",\");\r\n let newValue = `${valueBeforeDecimal}.${valueAfterDecimal}`;\r\n return newValue;\r\n }\r\n }\r\n}","import { Injectable } from '@angular/core';\r\n\r\n@Injectable({\r\n providedIn: 'root'\r\n})\r\nexport class ValidationMessageService {\r\n}\r\n\r\n\r\nexport class MinLengthValidationError {\r\n requirement: number;\r\n\r\n constructor(requirement: number) {\r\n\r\n this.requirement = requirement;\r\n }\r\n\r\n buildMessage() {\r\n return \"Must be a minimum length of \" + this.requirement + \" letters!\";\r\n }\r\n}\r\n\r\nexport class InvalidIntegerNumberValidatorEerror {\r\n buildMessage() {\r\n return \"Must only contain numbers, no decimals or words allowed\";\r\n }\r\n}\r\n\r\nexport class PositiveIntegerNumberValidatorError {\r\n buildMessage() {\r\n return \"Must be a positive integer\";\r\n }\r\n}\r\n\r\n\r\nexport class MaxLengthValidationError {\r\n requirement: number;\r\n\r\n constructor(requirement: number) {\r\n this.requirement = requirement;\r\n }\r\n\r\n buildMessage() {\r\n return \"Must be a maximum length of \" + this.requirement + \" letters!\";\r\n }\r\n}\r\n\r\nexport class MaxValidationError{\r\n requirement: number;\r\n\r\n constructor(requirement: number) {\r\n this.requirement = requirement;\r\n }\r\n\r\n buildMessage() {\r\n return \"The largest acceptable input is \" + this.requirement;\r\n }\r\n}\r\nexport class MinValidationError{\r\n requirement: number;\r\n\r\n constructor(requirement: number) {\r\n this.requirement = requirement;\r\n }\r\n\r\n buildMessage() {\r\n return \"The smallest acceptable input is \" + this.requirement ;\r\n }\r\n}\r\n\r\nexport class PatternValidatorError {\r\n requirement: any;\r\n\r\n constructor(requirement: string) {\r\n this.requirement = requirement\r\n }\r\n\r\n buildMessage() {\r\n if (this.requirement == '^[a-zA-Z ]*$') {\r\n return \"This field must only contain words \";\r\n }\r\n else if (this.requirement == '/[0-9]-[0-9]+$/') {\r\n return \"This field must only contain numbers and a - \" + \"<br>\" + \"Example: 71-716971\";\r\n }\r\n else if (this.requirement = 'forDate') {\r\n return \"Date needs to be DD/MM/YYYY\";\r\n }\r\n }\r\n}\r\n\r\nexport class RequiredValidatorError {\r\n buildMessage() {\r\n return \"This Field Is Required\";\r\n }\r\n}\r\n\r\nexport class EmailValidatorError {\r\n\r\n buildMessage() {\r\n return \"Make Sure It Is An Email Format\" + \"<br>\" + \"example@jooler.io\";\r\n }\r\n}\r\n\r\nexport class ValidationError {\r\n static getRelevantError(validationType: string, validationValue: any) {\r\n let validationMessage;\r\n validationMessage = this.MessageDictionary(validationValue, validationType);\r\n return validationMessage;\r\n }\r\n\r\n\r\n static MessageDictionary(value, validationType) {\r\n let ValidationMessageForInput = {\r\n 'minlength': new MinLengthValidationError(value).buildMessage(),\r\n 'maxlength': new MaxLengthValidationError(value).buildMessage(),\r\n 'max': new MaxValidationError(value).buildMessage(),\r\n 'min': new MinValidationError(value).buildMessage(),\r\n 'pattern': new PatternValidatorError(value).buildMessage(),\r\n 'required': new RequiredValidatorError().buildMessage(),\r\n 'email': new EmailValidatorError().buildMessage(),\r\n 'invalidIntegerNumber': new InvalidIntegerNumberValidatorEerror().buildMessage(),\r\n 'invalidPositiveInteger': new PositiveIntegerNumberValidatorError().buildMessage(),\r\n }\r\n return ValidationMessageForInput[validationType];\r\n }\r\n\r\n static validationMessageForDate = {\r\n 'required': new RequiredValidatorError().buildMessage(),\r\n 'pattern': new PatternValidatorError('forDate').buildMessage(),\r\n }\r\n\r\n}\r\n","import { Directive, Input, HostListener, ElementRef, OnInit, OnDestroy, EventEmitter, Output } from '@angular/core';\r\nimport { NgControl, NgModel, ValidationErrors } from '@angular/forms';\r\nimport { Subscription } from 'rxjs';\r\nimport { ValidationError } from './services/validation-message.service';\r\n\r\n@Directive({\r\n selector: '[appFormControlValidationMsgForInputs]',\r\n providers: [NgModel],\r\n})\r\nexport class FormControlValidationMsgDirectiveForInput implements OnInit, OnDestroy {\r\n errorMessage: any;\r\n errorNgSelectMessage: any;\r\n @Input('showBoxError') showBoxError: boolean=true;\r\n @Input('errorDivId') errorDivId: any;\r\n @Input('beforeBegin') beforeBegin: boolean = false;\r\n @Input('afterEnd') afterEnd: boolean = false;\r\n validationError = ValidationError;\r\n statusChangeSubscription: Subscription;\r\n\r\n constructor(\r\n private elRef: ElementRef,\r\n private control: NgControl,\r\n ) { }\r\n\r\n ngOnInit(): void {\r\n this.statusChangeSubscription = this.control.statusChanges.subscribe(\r\n (status) => {\r\n if (status == 'INVALID') {\r\n this.showError();\r\n\r\n } else {\r\n this.removeError();\r\n }\r\n }\r\n )\r\n this.control.valueChanges.subscribe({\r\n next: (response) => {\r\n if (this.control.errors) {\r\n this.showError();\r\n }\r\n }\r\n });\r\n }\r\n\r\n ngOnDestroy(): void {\r\n this.statusChangeSubscription.unsubscribe();\r\n }\r\n\r\n @HostListener('blur', [\"$event\"])\r\n handleBlurEvent(event) {\r\n if (this.control.errors) {\r\n this.showError();\r\n }\r\n else {\r\n this.removeError();\r\n }\r\n }\r\n\r\n\r\n private showError() {\r\n this.removeError();\r\n const valErrors: ValidationErrors = this.control.errors;\r\n const keys = Object.keys(valErrors);\r\n for (let i = 0; i < keys.length; i++) {\r\n switch (keys[i]) {\r\n case 'minlength': {\r\n let message = this.validationError.getRelevantError(keys[i], valErrors.minlength.requiredLength);\r\n this.errorMessage += ` ${this.errorMessage ? \"<br>\" : \"\"}${\"\\u25CF \" + message}`;\r\n \r\n break;\r\n }\r\n case 'required': {\r\n let message = this.validationError.getRelevantError(keys[i], valErrors);\r\n this.errorMessage += ` ${this.errorMessage ? \"<br>\" : \"\"}${\"\\u25CF \" + message}`;\r\n this.control.control.setErrors({ 'required': true, 'message': message },{ emitEvent:false})\r\n break;\r\n }\r\n case 'maxlength': {\r\n let message = this.validationError.getRelevantError(keys[i], valErrors.maxlength.requiredLength);\r\n this.errorMessage += ` ${this.errorMessage ? \"<br>\" : \"\"}${\"\\u25CF \" + message}`;\r\n this.control.control.setErrors({ 'maxlength': { 'requiredLength': valErrors.maxlength.requiredLength }, 'message': message}, { emitEvent: false })\r\n break;\r\n }\r\n case 'max': {\r\n let message = this.validationError.getRelevantError(keys[i], valErrors.max.max\r\n );\r\n this.errorMessage += ` ${this.errorMessage ? \"<br>\" : \"\"}${\"\\u25CF \" + message}`;\r\n this.control.control.setErrors({ 'message': message, 'max': { 'max': valErrors.max.max } }, { emitEvent: false })\r\n break;\r\n }\r\n case 'min': {\r\n let message = this.validationError.getRelevantError(keys[i], valErrors.min.min\r\n );\r\n this.errorMessage += ` ${this.errorMessage ? \"<br>\" : \"\"}${\"\\u25CF \" + message}`;\r\n break;\r\n }\r\n\r\n case 'pattern': {\r\n let message = this.validationError.getRelevantError(keys[i], valErrors.pattern.requiredPattern);\r\n this.errorMessage += ` ${this.errorMessage ? \"<br>\" : \"\"}${\"\\u25CF \" + message}`;\r\n break;\r\n }\r\n case 'email': {\r\n let message = this.validationError.getRelevantError(keys[i], valErrors);\r\n this.errorMessage += ` ${this.errorMessage ? \"<br>\" : \"\"}${\"\\u25CF \" + message}`;\r\n break;\r\n }\r\n case 'invalidIntegerNumber': {\r\n let message = this.validationError.getRelevantError(keys[i], valErrors);\r\n this.errorMessage += ` ${this.errorMessage ? \"<br>\" : \"\"}${\"\\u25CF \" + message}`;\r\n break;\r\n }\r\n case 'invalidPositiveInteger': {\r\n let message = this.validationError.getRelevantError(keys[i], valErrors);\r\n this.errorMessage += ` ${this.errorMessage ? \"<br>\" : \"\"}${\"\\u25CF \" + message}`;\r\n this.control.control.setErrors({ 'invalidPositiveInteger': true, 'message': message }, { emitEvent: false })\r\n break;\r\n }\r\n\r\n }\r\n }\r\n if (this.showBoxError){\r\n const errDiv = '<div style=\"color:#C34243; width=100%; background-color: #FFDBDB; padding: 1rem; border-radius: .5rem; border: .1rem solid #A80002 ;border-left: .75rem solid #A80002; margin-top:.5rem; font-size: 1.2rem; \" id=\"' + this.errorDivId + '\">' + '<h3 style= \" font-size: 1.3rem; margin-bottom:.5rem; margin:0; color: #A80002; font-weight: 700; line-height: 1.6rem;\">' + 'Please Complete all details' + '</h3>' + this.errorMessage + '</div>';\r\n if (!this.beforeBegin && !this.afterEnd)\r\n this.elRef.nativeElement.parentElement.parentElement.parentElement.parentElement.insertAdjacentHTML('afterend', errDiv);\r\n else if (this.beforeBegin)\r\n this.elRef.nativeElement.insertAdjacentHTML('beforebegin', errDiv);\r\n else if (this.afterEnd)\r\n this.elRef.nativeElement.insertAdjacentHTML('afterend', errDiv);\r\n else\r\n throw Error(\"Adjustment not specified \");\r\n }\r\n }\r\n private removeError(): void {\r\n this.errorMessage = \"\";\r\n const errorElement = document.getElementById(this.errorDivId);\r\n if (errorElement) {\r\n errorElement.remove();\r\n }\r\n }\r\n}","import { DecimalPipe } from '@angular/common';\r\nimport { Component } from '@angular/core';\r\nimport { FormGroup } from '@angular/forms';\r\nimport { ICellRendererAngularComp } from 'ag-grid-angular';\r\n\r\n@Component({\r\n selector: 'general-input-renderer-test',\r\n templateUrl: './general-input-renderer.component.html',\r\n styleUrls: ['./general-input-renderer.component.scss']\r\n})\r\nexport class GeneralInputRendererComponent implements ICellRendererAngularComp {\r\n params: any;\r\n key;\r\n value;\r\n formGroup: any;\r\n formControlName;\r\n\r\n constructor() { }\r\n\r\n agInit(params: any) {\r\n this.params = params;\r\n this.formGroup = this.params.context.formGroup.get('entries').at(params.node.rowIndex) as FormGroup;\r\n this.key = params.context.createKey(params.columnApi, params.column);\r\n if (params.isTypeNumber) {\r\n if (params.value) {\r\n this.value = new DecimalPipe(\"en-US\").transform(\r\n +params.value,\r\n \"1.0-0\"\r\n );\r\n }\r\n }\r\n else {\r\n this.value = params.value;\r\n }\r\n }\r\n\r\n onCellDataChanged($event) {\r\n let value = $event.target.value;\r\n let newAndOldValue = {\r\n newValue: value,\r\n oldValue: this.params?.value\r\n }\r\n if (this.params.allowUpdateRowData) {\r\n this.params.onChange(newAndOldValue);\r\n }\r\n }\r\n\r\n refresh(params: any): boolean {\r\n this.formGroup = this.params.context.formGroup.get('entries').at(params.node.rowIndex);\r\n return true;\r\n }\r\n}","<div *ngIf=\"formGroup\" [formGroup]=\"formGroup\">\r\n <div *ngIf=\"params.isTypeText\">\r\n <input [placeholder]=\"params.fieldLabel\"appFormControlValidationMsgForInputs [showBoxError]=\"false\"\r\n [errorDivId]=\"'text'\" \r\n (change)=\"onCellDataChanged($event)\" [formControlName]=\"key\" />\r\n <span *ngIf=\"params.showSymbol\"\r\n style=\"margin-left:-20px ;\">{{params.symbol}}</span>\r\n <show-table-errors\r\n *ngIf=\"formGroup.get(this.key).errors && formGroup.get(this.key) && formGroup.get(this.key).touched\"\r\n [message]=\"formGroup.get(this.key).errors.message\"></show-table-errors>\r\n </div>\r\n <div *ngIf=\"params.isTypeNumber\">\r\n <input customDecimalPointTwoDigits appFormControlValidationMsgForInputs [showBoxError]=\"false\"\r\n [errorDivId]=\"'number'\" [placeholder]=\"params.fieldLabel\"\r\n (change)=\"onCellDataChanged($event)\" [formControlName]=\"key\" />\r\n <span *ngIf=\"params.showSymbol\"\r\n style=\"margin-left:-20px ;\">{{params.symbol}}</span>\r\n <show-table-errors\r\n *ngIf=\"formGroup.get(this.key).errors && formGroup.get(this.key).touched\"\r\n [message]=\"formGroup.get(this.key).errors.message\"></show-table-errors>\r\n </div>\r\n <div *ngIf=\"params.isTypeIntegerNumber\">\r\n <input appFormControlValidationMsgForInputs [showBoxError]=\"false\"type=\"number\"\r\n [errorDivId]=\"'integer'\" [placeholder]=\"params.fieldLabel\"\r\n (change)=\"onCellDataChanged($event)\" [formControlName]=\"key\" />\r\n <span *ngIf=\"params.showSymbol\"\r\n style=\"margin-left:-20px ;\">{{params.symbol}}</span>\r\n <show-table-errors\r\n *ngIf=\"formGroup.get(this.key).errors && formGroup.get(this.key).touched\"\r\n [message]=\"formGroup.get(this.key).errors.message\"></show-table-errors>\r\n </div>\r\n <div *ngIf=\"params.isTypeTextArea\">\r\n <textarea class=\"text-area\" (change)=\"onCellDataChanged($event)\"\r\n [placeholder]=\"params.fieldLabel\" class=\"main-height\"\r\n [formControlName]=\"key\"></textarea>\r\n </div>\r\n</div>","export class LabelAndField {\r\n label: string;\r\n field: string;\r\n}","export enum DropdownActionType {\r\n ADD = 0,\r\n MENU = 1\r\n}","import { Component, EventEmitter, Input, OnInit, Output } from '@angular/core';\r\nimport { Router } from '@angular/router';\r\nimport { LabelAndRoute } from './label-and-route.model';\r\nimport { DropdownActionType } from './dropdown-action-type.model';\r\n\r\n@Component({\r\n selector: 'dropdown-actions',\r\n templateUrl: './dropdown-actions.component.html',\r\n styleUrls: ['./dropdown-actions.component.scss']\r\n})\r\nexport class DropdownActionsComponent implements OnInit {\r\n dropdownActionTypes = DropdownActionType;\r\n @Input() canRoute: boolean = true;\r\n @Input() disabled: boolean;\r\n @Input() labelsAndRoutes: LabelAndRoute[] = [];\r\n @Input() route: string;\r\n @Input() dropdownActionType: DropdownActionType = this.dropdownActionTypes.ADD;\r\n @Output() addClicked = new EventEmitter();\r\n\r\n constructor(private _Router: Router) { }\r\n\r\n ngOnInit(): void {\r\n this.validateActions();\r\n }\r\n\r\n validateActions() {\r\n if (this.dropdownActionType == this.dropdownActionTypes.ADD) {\r\n if (this.canRoute) {\r\n if (this.route == \"\" || this.route == undefined || this.route == null) {\r\n throw Error(\"Route needs to be provided.\");\r\n }\r\n }\r\n else {\r\n if (this.route) {\r\n throw Error(\"Route shouldn't be provided since canRoute is false\");\r\n }\r\n }\r\n }\r\n else if (this.dropdownActionType == this.dropdownActionTypes.MENU) {\r\n if (!this.labelsAndRoutes.length) {\r\n throw Error(\"A list of labels & Routes need to be provided for the actions menu.\");\r\n }\r\n }\r\n else {\r\n throw Error(\"Dropdown Action Type is not recognized.\")\r\n }\r\n }\r\n\r\n onClickAdd($event) {\r\n $event.preventDefault();\r\n if (this.canRoute && this.route) {\r\n this._Router.navigate([this.route]);\r\n }\r\n this.addClicked.emit();\r\n }\r\n\r\n onClickLabel(route, $event) {\r\n $event.preventDefault();\r\n this._Router.navigate([route]);\r\n }\r\n}\r\n","<div [ngSwitch]=\"dropdownActionType\">\r\n <a *ngSwitchCase=\"dropdownActionTypes.ADD\" [href]=\"route\"\r\n [ngClass]=\"{'action-enabled':!disabled, 'disabled': disabled}\"\r\n (click)=\"onClickAdd($event)\">\r\n <fa-icon icon=\"plus\"></fa-icon>\r\n </a>\r\n <fa-icon *ngSwitchCase=\"dropdownActionTypes.MENU\"\r\n [ngClass]=\"{'action-enabled':!disabled, 'disabled': disabled}\"\r\n class=\"menu\" [matMenuTriggerFor]=\"menu\"\r\n icon=\"ellipsis-vertical\"></fa-icon>\r\n <mat-menu #menu=\"matMenu\">\r\n <button *ngFor=\"let labelAndRoute of labelsAndRoutes\" mat-menu-item>\r\n <a [href]=\"labelAndRoute.route\"\r\n (click)=\"onClickLabel(labelAndRoute.route, $event)\">{{labelAndRoute.label}}</a>\r\n </button>\r\n </mat-menu>\r\n</div>","export class PrimaryColors {\r\n static $primaryBlueColor = '#155ED4';\r\n static $primaryPinkColor = '#F0509C';\r\n static $primaryTealColor = '#12957E';\r\n static $primaryCarbonColor = '#32353B';\r\n static $primaryPurpleColor = '#E3B1EB';\r\n static $primaryRedColor = '#A80002';\r\n static $primaryLightRedColor = '#FFDBDB';\r\n static $primaryLightGrayBlueColor = '#f7f8f9';\r\n static $primaryLightGrayColor = '#f0f0f0';\r\n}","import { Directive, ElementRef, Input, OnChanges, OnInit, SimpleChanges } from '@angular/core'\r\nimport { PrimaryColors } from './primary-colors';\r\n\r\n@Directive({\r\n selector: '[addAsterisk]'\r\n})\r\nexport class AddAsteriskDirective implements OnInit, OnChanges {\r\n @Input('show') show: boolean = true;\r\n\r\n constructor(\r\n private elem: ElementRef) {\r\n }\r\n\r\n ngOnInit() {\r\n this.toggleAsterisk();\r\n }\r\n\r\n ngOnChanges(changes: SimpleChanges): void {\r\n this.toggleAsterisk();\r\n }\r\n\r\n toggleAsterisk() {\r\n const existingAsterisk = this.elem.nativeElement.querySelector('.custom-asterisk');\r\n\r\n if (this.show) {\r\n if (!existingAsterisk) {\r\n const customAsterisk = `<span class=\"custom-asterisk\" style=\"color:${PrimaryColors.$primaryRedColor};\"> *</span> `\r\n this.elem.nativeElement.insertAdjacentHTML('beforeend', customAsterisk);\r\n }\r\n }\r\n else {\r\n if (existingAsterisk) {\r\n existingAsterisk.remove();\r\n }\r\n }\r\n }\r\n}","import { CommonModule } from '@angular/common';\r\nimport { ModuleWithProviders, NgModule } from '@angular/core';\r\nimport { FormsModule, ReactiveFormsModule } from '@angular/forms';\r\nimport { NgSelectModule } from '@ng-select/ng-select';\r\nimport { SharedGeneralComponentsModule } from '@jooler/shared-general-components';\r\nimport { ChooseEnumComponent } from './choose-enum/choose-enum.component';\r\nimport { ChooseEnumRendererComponent } from './choose-enum-renderer/choose-enum-renderer.component';\r\nimport { ChooseGeneralItemComponent } from './choose-general-item/choose-general-item.component';\r\nimport { ChooseLineTypeComponent } from './choose-line-type/choose-line-type.component';\r\nimport { ChooseYesOrNoComponent } from './choose-yes-or-no/choose-yes-or-no.component';\r\nimport { ChooseYesOrNoRendererComponent } from './choose-yes-or-no-renderer/choose-yes-or-no-renderer.component';\r\nimport { EditableSavableInputComponent } from './editable-savable-input/editable-savable-input.component';\r\nimport { GeneralInputRendererComponent } from './general-input-renderer/general-input-renderer.component';\r\nimport { AppMaterialModule } from '@jooler/app-material';\r\nimport { DynamicPipe } from './editable-savable-input/dynamicPipe';\r\nimport { ChooseGeneralItemRendererComponent } from './choose-general-item-renderer/choose-general-item-renderer.component';\r\nimport { CustomDecimalPointTwoDigitsDirective } from './general-input-renderer/custom-decimal-point-two-digits.directive';\r\nimport { ShowTableErrorsComponent } from './show-table-errors/show-table-errors.component';\r\nimport { FormControlValidationMsgDirectiveForInput } from './formcontrol-validation-msg.directive';\r\nimport { FontAwesomeModule } from '@fortawesome/angular-fontawesome';\r\nimport { ChooseGeneralItemService } from './choose-general-item/choose-general-item.service';\r\nimport { DropdownActionsComponent } from './dropdown-actions/dropdown-actions.component';\r\nimport { AddAsteriskDirective } from './add-asterisk.directive';\r\n\r\n\r\n@NgModule({\r\n declarations: [\r\n ChooseEnumComponent,\r\n ChooseEnumRendererComponent,\r\n ChooseGeneralItemComponent,\r\n GeneralInputRendererComponent,\r\n ChooseLineTypeComponent,\r\n ChooseYesOrNoComponent,\r\n ChooseYesOrNoRendererComponent,\r\n EditableSavableInputComponent,\r\n DynamicPipe,\r\n ChooseGeneralItemRendererComponent,\r\n CustomDecimalPointTwoDigitsDirective,\r\n ShowTableErrorsComponent,\r\n FormControlValidationMsgDirectiveForInput,\r\n DropdownActionsComponent,\r\n AddAsteriskDirective\r\n ],\r\n imports: [\r\n CommonModule,\r\n NgSelectModule,\r\n FormsModule,\r\n ReactiveFormsModule,\r\n AppMaterialModule,\r\n SharedGeneralComponentsModule,\r\n FontAwesomeModule,\r\n ],\r\n exports: [\r\n ChooseEnumComponent,\r\n ChooseEnumRendererComponent,\r\n ChooseGeneralItemComponent,\r\n GeneralInputRendererComponent,\r\n ChooseLineTypeComponent,\r\n ChooseYesOrNoComponent,\r\n ChooseYesOrNoRendererComponent,\r\n EditableSavableInputComponent,\r\n DropdownActionsComponent,\r\n DynamicPipe,\r\n AddAsteriskDirective\r\n ]\r\n})\r\nexport class InputsModule {\r\n\r\n public static forRoot(environment: any): ModuleWithProviders<InputsModule> {\r\n\r\n return {\r\n ngModule: InputsModule,\r\n providers: [\r\n ChooseGeneralItemService,\r\n {\r\n provide: 'env',\r\n useValue: environment\r\n }\r\n ]\r\n };\r\n }\r\n}","/*\r\n * Public API Surface of inputs\r\n */\r\n\r\nexport * from './lib/choose-enum/choose-enum.component';\r\nexport * from './lib/show-table-errors/show-table-errors.component';\r\nexport * from './lib/choose-enum-renderer/choose-enum-renderer.component';\r\nexport * from './lib/choose-general-item/choose-general-item.component';\r\nexport * from './lib/choose-general-item-renderer/choose-general-item-renderer.component';\r\nexport * from './lib/choose-line-type/choose-line-type.component';\r\nexport * from './lib/choose-yes-or-no/choose-yes-or-no.component';\r\nexport * from './lib/choose-yes-or-no-renderer/choose-yes-or-no-renderer.component';\r\nexport * from './lib/editable-savable-input/editable-savable-input.component';\r\nexport * from './lib/general-input-renderer/general-input-renderer.component';\r\nexport * from './lib/editable-savable-input/dynamicPipe';\r\nexport * from './lib/choose-general-item/choose-general-item.service';\r\nexport * from './lib/models/label-and-field.model';\r\nexport * from './lib/formcontrol-validation-msg.directive';\r\nexport * from './lib/inputs.module';\r\nexport * from './lib/dropdown-actions/dropdown-actions.component';\r\nexport * from './lib/dropdown-actions/label-and-route.model';\r\nexport * from './lib/dropdown-actions/dropdown-action-type.model';\r\nexport * from './lib/add-asterisk.directive';\r\nexport * from './lib/primary-colors';\r\n\r\n\r\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './public-api';\n"],"names":["i3","i2","i1.ChooseEnumComponent","i1.ChooseGeneralItemService","i4","i5","i1.ChooseGeneralItemComponent","i1","i1.ChooseYesOrNoComponent","i4.DynamicPipe","i3.CustomDecimalPointTwoDigitsDirective","i4.ShowTableErrorsComponent","i5.FormControlValidationMsgDirectiveForInput"],"mappings":"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"}