@jooler/inputs 0.0.54 → 0.0.55
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.
- package/esm2022/lib/ag-grid-select-mixin.mjs +1 -1
- package/esm2022/lib/choose-general-item/choose-object-basic-template-label-field.enum.mjs +1 -1
- package/esm2022/lib/choose-general-item/choose-object-basic-template.model.mjs +1 -1
- package/esm2022/lib/choose-general-item/choose-object-template-type.enum.mjs +1 -1
- package/esm2022/lib/dictionary-to-params-converter.mjs +1 -1
- package/esm2022/lib/enum-helper-functions.mjs +15 -27
- package/esm2022/lib/enum-helper.model.mjs +1 -1
- package/esm2022/lib/models/choose-item-full-object-control-config.enum.mjs +1 -1
- package/fesm2022/inputs.mjs +34 -325
- package/fesm2022/inputs.mjs.map +1 -1
- package/package.json +1 -1
- package/esm2022/lib/custom-colors/bom-production-type.enum.mjs +0 -11
- package/esm2022/lib/custom-colors/enum-custom-color-mapping.mjs +0 -32
- package/esm2022/lib/custom-colors/enum-custom-colors.mjs +0 -21
- package/esm2022/lib/custom-colors/sales-order-status.enum.mjs +0 -27
- package/esm2022/lib/enum-custom-label-mapping.mjs +0 -32
- package/esm2022/lib/enum-models/bill-status.model.mjs +0 -25
- package/esm2022/lib/enum-models/charge-level.enum.mjs +0 -6
- package/esm2022/lib/enum-models/custom-order-request-status.enum.mjs +0 -29
- package/esm2022/lib/enum-models/invitation-status.model.mjs +0 -15
- package/esm2022/lib/enum-models/invoice-status.model.mjs +0 -15
- package/esm2022/lib/enum-models/locker-transfer-status.enum.mjs +0 -11
- package/esm2022/lib/enum-models/priority.model.mjs +0 -13
- package/esm2022/lib/enum-models/quotation-status.model.mjs +0 -19
- package/esm2022/lib/enum-models/request-status.model.mjs +0 -15
- package/esm2022/lib/enum-string-class-map.mjs +0 -26
- package/esm2022/lib/json/enum-custom-label-mappings.json +0 -10
- package/lib/custom-colors/bom-production-type.enum.d.ts +0 -5
- package/lib/custom-colors/enum-custom-color-mapping.d.ts +0 -11
- package/lib/custom-colors/enum-custom-colors.d.ts +0 -2
- package/lib/custom-colors/sales-order-status.enum.d.ts +0 -13
- package/lib/enum-custom-label-mapping.d.ts +0 -7
- package/lib/enum-models/bill-status.model.d.ts +0 -12
- package/lib/enum-models/charge-level.enum.d.ts +0 -4
- package/lib/enum-models/custom-order-request-status.enum.d.ts +0 -14
- package/lib/enum-models/invitation-status.model.d.ts +0 -7
- package/lib/enum-models/invoice-status.model.d.ts +0 -13
- package/lib/enum-models/locker-transfer-status.enum.d.ts +0 -5
- package/lib/enum-models/priority.model.d.ts +0 -6
- package/lib/enum-models/quotation-status.model.d.ts +0 -9
- package/lib/enum-models/request-status.model.d.ts +0 -7
- package/lib/enum-string-class-map.d.ts +0 -3
package/fesm2022/inputs.mjs.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"inputs.mjs","sources":["../../../projects/inputs/src/lib/primary-colors.ts","../../../projects/inputs/src/lib/custom-colors/bom-production-type.enum.ts","../../../projects/inputs/src/lib/custom-colors/sales-order-status.enum.ts","../../../projects/inputs/src/lib/enum-models/bill-status.model.ts","../../../projects/inputs/src/lib/enum-models/charge-level.enum.ts","../../../projects/inputs/src/lib/enum-models/custom-order-request-status.enum.ts","../../../projects/inputs/src/lib/enum-models/invitation-status.model.ts","../../../projects/inputs/src/lib/enum-models/invoice-status.model.ts","../../../projects/inputs/src/lib/enum-models/locker-transfer-status.enum.ts","../../../projects/inputs/src/lib/enum-models/priority.model.ts","../../../projects/inputs/src/lib/enum-models/quotation-status.model.ts","../../../projects/inputs/src/lib/enum-models/request-status.model.ts","../../../projects/inputs/src/lib/enum-string-class-map.ts","../../../projects/inputs/src/lib/custom-colors/enum-custom-colors.ts","../../../projects/inputs/src/lib/custom-colors/enum-custom-color-mapping.ts","../../../projects/inputs/src/lib/custom-theme.ts","../../../projects/inputs/src/lib/enum-custom-label-mapping.ts","../../../projects/inputs/src/lib/enum-helper.model.ts","../../../projects/inputs/src/lib/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/ag-grid-select-mixin.ts","../../../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-object-template-type.enum.ts","../../../projects/inputs/src/lib/models/choose-item-full-object-control-config.enum.ts","../../../projects/inputs/src/lib/dictionary-to-params-converter.ts","../../../projects/inputs/src/lib/choose-general-item/choose-general-item.service.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/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/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 PrimaryColors {\r\n static $primaryBlueColor = '#155ED4';\r\n static $primaryPinkColor = '#F0509C';\r\n static $primaryTealColor = '#12957E';\r\n static $primaryCarbonColor = '#32353B';\r\n static $primaryGrayColor = '#676767';\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 static $primaryLightBlueColor = '#b9cff2';\r\n static $primaryYellowColor = '#F2CD5C';\r\n static $primaryOrangeColor = '#F2921D';\r\n static $primaryLimeGreenColor = '#AFFF00';\r\n static $primaryNavyBlueColor = '#000080';\r\n static $primaryOrangeRedColor = '#FF4500';\r\n static $primaryDarkPurpleColor = '#7600BC';\r\n}","import { PrimaryColors } from \"../primary-colors\";\n\nexport enum BOMProductionType {\n MANUFACTURED_IN_HOUSE = 0,\n PARTIALLY_MANUFACTURED_IN_HOUSE = 1,\n}\n\nexport const bomProductionTypeColors = Object.values({\n [BOMProductionType.MANUFACTURED_IN_HOUSE]: PrimaryColors.$primaryLimeGreenColor,\n [BOMProductionType.PARTIALLY_MANUFACTURED_IN_HOUSE]: PrimaryColors.$primaryBlueColor,\n});\n","import { PrimaryColors } from \"../primary-colors\";\n\nexport enum SalesOrderStatus {\n DRAFT = 0,\n PENDING_APPROVAL = 1,\n APPROVED = 2,\n TO_DELIVER_AND_TO_BILL = 3,\n TO_BILL = 4,\n PARTIALLY_DELIVERED_AND_PARTIALLY_BILLED = 5,\n PARTIALLY_DELIVERED_AND_TO_BILL = 6,\n COMPLETED = 7,\n CANCELED = 8,\n CLOSED = 9,\n}\n\nexport const salesOrderStatusColors = Object.values({\n [SalesOrderStatus.DRAFT]: PrimaryColors.$primaryBlueColor,\n [SalesOrderStatus.PENDING_APPROVAL]: PrimaryColors.$primaryYellowColor,\n [SalesOrderStatus.APPROVED]: PrimaryColors.$primaryTealColor,\n [SalesOrderStatus.TO_DELIVER_AND_TO_BILL]: PrimaryColors.$primaryPurpleColor,\n [SalesOrderStatus.TO_BILL]: PrimaryColors.$primaryPinkColor,\n [SalesOrderStatus.PARTIALLY_DELIVERED_AND_PARTIALLY_BILLED]: PrimaryColors.$primaryOrangeColor,\n [SalesOrderStatus.PARTIALLY_DELIVERED_AND_TO_BILL]: PrimaryColors.$primaryNavyBlueColor,\n [SalesOrderStatus.COMPLETED]: PrimaryColors.$primaryLimeGreenColor,\n [SalesOrderStatus.CANCELED]: PrimaryColors.$primaryGrayColor,\n [SalesOrderStatus.CLOSED]: PrimaryColors.$primaryCarbonColor,\n});\n","import { PrimaryColors } from \"../primary-colors\";\n\nexport enum BillStatus {\n DRAFT = 0,\n RECEIVED = 1,\n PAID = 2,\n CANCELLED = 3,\n RETURN = 4,\n DEBIT_NOTE_ISSUED = 5,\n PARTLY_PAID = 6,\n UNPAID = 7,\n OVERDUE = 8,\n}\n\nexport const billStatusColors = Object.values({\n [BillStatus.DRAFT]: PrimaryColors.$primaryBlueColor,\n [BillStatus.RECEIVED]: PrimaryColors.$primaryTealColor,\n [BillStatus.PAID]: PrimaryColors.$primaryPurpleColor,\n [BillStatus.CANCELLED]: PrimaryColors.$primaryGrayColor,\n [BillStatus.RETURN]: PrimaryColors.$primaryPinkColor,\n [BillStatus.DEBIT_NOTE_ISSUED]: PrimaryColors.$primaryNavyBlueColor,\n [BillStatus.PARTLY_PAID]: PrimaryColors.$primaryYellowColor,\n [BillStatus.UNPAID]: PrimaryColors.$primaryRedColor,\n [BillStatus.OVERDUE]: PrimaryColors.$primaryOrangeColor,\n});\n","export enum ChargeLevel {\n MAIN = 0,\n LINE = 1,\n}\n","import { PrimaryColors } from \"../primary-colors\";\r\n\r\nexport enum CustomOrderRequestStatus {\r\n DRAFT = 0,\r\n SENT = 1,\r\n RESPONDED = 2,\r\n REJECTED = 3,\r\n CANCELED = 4,\r\n DECLINED = 5,\r\n ACCEPTED = 6,\r\n ORDER_CONFIRMED = 7,\r\n DELIVERED = 8,\r\n ON_HOLD = 9,\r\n IN_PRODUCTION = 10,\r\n}\r\n\r\nexport const customOrderRequestStatusColors = Object.values({\r\n [CustomOrderRequestStatus.DRAFT]: PrimaryColors.$primaryBlueColor,\r\n [CustomOrderRequestStatus.SENT]: PrimaryColors.$primaryNavyBlueColor,\r\n [CustomOrderRequestStatus.RESPONDED]: PrimaryColors.$primaryPurpleColor,\r\n [CustomOrderRequestStatus.REJECTED]: PrimaryColors.$primaryRedColor,\r\n [CustomOrderRequestStatus.CANCELED]: PrimaryColors.$primaryGrayColor,\r\n [CustomOrderRequestStatus.DECLINED]: PrimaryColors.$primaryPinkColor,\r\n [CustomOrderRequestStatus.ACCEPTED]: PrimaryColors.$primaryPurpleColor,\r\n [CustomOrderRequestStatus.ORDER_CONFIRMED]: PrimaryColors.$primaryDarkPurpleColor,\r\n [CustomOrderRequestStatus.IN_PRODUCTION]: PrimaryColors.$primaryLimeGreenColor,\r\n [CustomOrderRequestStatus.DELIVERED]: PrimaryColors.$primaryTealColor,\r\n [CustomOrderRequestStatus.ON_HOLD]: PrimaryColors.$primaryOrangeColor,\r\n});\r\n","import { PrimaryColors } from \"../primary-colors\";\n\nexport enum InvitationStatus {\n PENDING = 0,\n ACCEPTED = 1,\n EXPIRED = 2,\n CANCELED = 3,\n}\n\nexport const invitationStatusColors = Object.values({\n [InvitationStatus.PENDING]: PrimaryColors.$primaryYellowColor,\n [InvitationStatus.ACCEPTED]: PrimaryColors.$primaryTealColor,\n [InvitationStatus.EXPIRED]: PrimaryColors.$primaryGrayColor,\n [InvitationStatus.CANCELED]: PrimaryColors.$primaryPinkColor,\n});\n","export enum InvoiceStatus {\n DRAFT = 0,\n SUBMITTED = 1,\n PAID = 2,\n UNPAID = 3,\n PARTLY_PAID = 4,\n CANCELLED = 5,\n OVERDUE = 6,\n CREDIT_NOTE_ISSUED = 7,\n RETURN = 8,\n UNPAID_AND_DISCOUNTED = 9,\n OVERDUE_AND_DISCOUNTED = 10,\n}\n","import { PrimaryColors } from \"../primary-colors\";\n\nexport enum LockerTransferStatus {\n DRAFT = 0,\n POSTED = 1,\n}\n\nexport const lockerTransferStatusColors = Object.values({\n [LockerTransferStatus.DRAFT]: PrimaryColors.$primaryBlueColor,\n [LockerTransferStatus.POSTED]: PrimaryColors.$primaryTealColor,\n});\n","import { PrimaryColors } from \"../primary-colors\";\n\nexport enum Priority {\n LOW = 0,\n NORMAL = 1,\n HIGH = 2,\n}\n\nexport const priorityColors = Object.values({\n [Priority.LOW]: PrimaryColors.$primaryTealColor,\n [Priority.NORMAL]: PrimaryColors.$primaryOrangeColor,\n [Priority.HIGH]: PrimaryColors.$primaryRedColor,\n});\n","import { PrimaryColors } from \"../primary-colors\";\n\nexport enum QuotationStatus {\n CREATED = 0,\n SENT = 1,\n REJECTED = 2,\n CANCELED = 3,\n ACCEPTED = 4,\n EXPIRED = 5,\n}\n\nexport const quotationStatusColors = Object.values({\n [QuotationStatus.CREATED]: PrimaryColors.$primaryLimeGreenColor,\n [QuotationStatus.SENT]: PrimaryColors.$primaryNavyBlueColor,\n [QuotationStatus.REJECTED]: PrimaryColors.$primaryOrangeRedColor,\n [QuotationStatus.CANCELED]: PrimaryColors.$primaryOrangeColor,\n [QuotationStatus.ACCEPTED]: PrimaryColors.$primaryTealColor,\n [QuotationStatus.EXPIRED]: PrimaryColors.$primaryGrayColor,\n});\n","import { PrimaryColors } from \"../primary-colors\";\n\nexport enum RequestStatus {\n PENDING = 0,\n REJECTED = 1,\n APPROVED = 2,\n CANCELED = 3,\n}\n\nexport const requestStatusColors = Object.values({\n [RequestStatus.PENDING]: PrimaryColors.$primaryYellowColor,\n [RequestStatus.REJECTED]: PrimaryColors.$primaryRedColor,\n [RequestStatus.APPROVED]: PrimaryColors.$primaryTealColor,\n [RequestStatus.CANCELED]: PrimaryColors.$primaryGrayColor,\n});\n","import { BOMProductionType } from \"./custom-colors/bom-production-type.enum\";\nimport { SalesOrderStatus } from \"./custom-colors/sales-order-status.enum\";\nimport { BillStatus } from \"./enum-models/bill-status.model\";\nimport { ChargeLevel } from \"./enum-models/charge-level.enum\";\nimport { CustomOrderRequestStatus } from \"./enum-models/custom-order-request-status.enum\";\nimport { InvitationStatus } from \"./enum-models/invitation-status.model\";\nimport { InvoiceStatus } from \"./enum-models/invoice-status.model\";\nimport { LockerTransferStatus } from \"./enum-models/locker-transfer-status.enum\";\nimport { Priority } from \"./enum-models/priority.model\";\nimport { QuotationStatus } from \"./enum-models/quotation-status.model\";\nimport { RequestStatus } from \"./enum-models/request-status.model\";\n\n// Enum Class Mapping\nexport const enumClassMap: { [key: string]: any } = {\n BOMProductionType: BOMProductionType,\n InvoiceStatus: InvoiceStatus,\n CustomOrderRequestStatus: CustomOrderRequestStatus,\n Priority: Priority,\n QuotationStatus: QuotationStatus,\n LockerTransferStatus: LockerTransferStatus,\n BillStatus: BillStatus,\n SalesOrderStatus: SalesOrderStatus,\n RequestStatus: RequestStatus,\n InvitationStatus: InvitationStatus,\n ChargeLevel: ChargeLevel,\n};\n","import { billStatusColors } from \"../enum-models/bill-status.model\";\nimport { customOrderRequestStatusColors } from \"../enum-models/custom-order-request-status.enum\";\nimport { invitationStatusColors } from \"../enum-models/invitation-status.model\";\nimport { lockerTransferStatusColors } from \"../enum-models/locker-transfer-status.enum\";\nimport { priorityColors } from \"../enum-models/priority.model\";\nimport { quotationStatusColors } from \"../enum-models/quotation-status.model\";\nimport { requestStatusColors } from \"../enum-models/request-status.model\";\nimport { bomProductionTypeColors } from \"./bom-production-type.enum\";\nimport { IEnumCustomColorMapping } from \"./enum-custom-color-mapping\";\nimport { salesOrderStatusColors } from \"./sales-order-status.enum\";\n\n\nexport const enumCustomColors: IEnumCustomColorMapping[] = [\n { enumClass: 'CustomOrderRequestStatus', colors: customOrderRequestStatusColors },\n { enumClass: 'Priority', colors: priorityColors },\n { enumClass: 'QuotationStatus', colors: quotationStatusColors },\n { enumClass: 'LockerTransferStatus', colors: lockerTransferStatusColors },\n { enumClass: 'BillStatus', colors: billStatusColors },\n { enumClass: 'SalesOrderStatus', colors: salesOrderStatusColors },\n { enumClass: 'RequestStatus', colors: requestStatusColors },\n { enumClass: 'InvitationStatus', colors: invitationStatusColors },\n { enumClass: 'BOMProductionType', colors: bomProductionTypeColors },\n];\n","import { enumClassMap } from '../enum-string-class-map';\nimport { enumCustomColors } from './enum-custom-colors';\n\nexport interface IEnumCustomColorMapping {\n enumClass: any;\n colors: string[];\n}\n\nexport class EnumCustomColorMapping {\n enumClass: any;\n colors: string[];\n\n constructor(enumClass: any, colors: string[]) {\n this.enumClass = enumClass;\n if (this.validateColors(enumClass, colors)) {\n this.colors = colors;\n } else {\n throw new Error(\n `The length of your custom colors list does not match the enum class provided.`\n );\n }\n }\n\n private validateColors(enumClass: any, colors: string[]): boolean {\n // Get the total number of enum values by counting keys\n const enumValues = Object.keys(enumClass).filter(key => isNaN(Number(key))).length;\n return colors.length === enumValues;\n }\n}\n\n// Function to create EnumCustomColorMapping instances from JSON array\nfunction createEnumCustomColorMappings(\n mappings: IEnumCustomColorMapping[]\n): EnumCustomColorMapping[] {\n return mappings.map(json => {\n const enumClass = enumClassMap[json.enumClass];\n if (!enumClass) {\n throw new Error(`Enum class \"${json.enumClass}\" not found.`);\n }\n return new EnumCustomColorMapping(enumClass, json.colors);\n });\n}\n\nexport const enumCustomColorMappings = createEnumCustomColorMappings(enumCustomColors);\n","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 { enumClassMap } from \"./enum-string-class-map\";\nimport enumCustomLabelMappingsJSON from './json/enum-custom-label-mappings.json';\ninterface IEnumCustomLabelMapping {\n enumClass: any;\n labels: string[];\n}\n\nexport class EnumCustomLabelMapping {\n enumClass: any;\n labels: string[];\n\n constructor(enumClass: any, labels: string[]) {\n this.enumClass = enumClass;\n if (this.validateLabels(enumClass, labels)) {\n this.labels = labels;\n } else {\n throw new Error(\n 'The length of your custom labels list does not match the enum class provided.'\n );\n }\n }\n\n private validateLabels(enumClass: any, labels: string[]): boolean {\n // Get the total number of enum values by counting keys\n const enumValues = Object.keys(enumClass).filter(key => isNaN(Number(key))).length;\n return labels.length === enumValues;\n }\n}\n\n// Function to create EnumCustomLabelMapping instances from JSON array\nfunction createEnumCustomLabelMappingsFromJSON(\n jsonArray: IEnumCustomLabelMapping[]\n): EnumCustomLabelMapping[] {\n return jsonArray.map(json => {\n const enumClass = enumClassMap[json.enumClass];\n if (!enumClass) {\n throw new Error(`Enum class \"${json.enumClass}\" not found.`);\n }\n return new EnumCustomLabelMapping(enumClass, json.labels);\n });\n}\n\nexport const enumCustomLabelMappings = createEnumCustomLabelMappingsFromJSON(\n enumCustomLabelMappingsJSON\n);\n","export class EnumOption {\n value: number;\n label: string;\n color: string;\n description?: string;\n disabled?: boolean;\n\n constructor(value: number, label: string, color: string, disabled: boolean = false) {\n this.value = value;\n this.label = label;\n this.color = color;\n this.disabled = disabled;\n }\n}\n","\r\nimport { EnumCustomColorMapping, enumCustomColorMappings } from './custom-colors/enum-custom-color-mapping';\r\nimport { CustomTheme } from './custom-theme';\r\nimport { EnumCustomLabelMapping, enumCustomLabelMappings } from './enum-custom-label-mapping';\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 = false,\r\n isIntegerChoice: boolean = true\r\n ) {\r\n const enumOptions: EnumOption[] = [];\r\n\r\n // Get string keys only (filter out numeric reverse mappings)\r\n const enumKeys = Object.keys(enumClass).filter(k => isNaN(Number(k)));\r\n\r\n // Prepare display labels\r\n const stringValues = EnumHelperBaseClass.getStringValuesForEnumClass(enumClass, isAllCaps);\r\n\r\n // Prepare colors\r\n const colors = EnumHelperBaseClass.getColorsForEnumClass(enumClass, stringValues, customColors);\r\n\r\n enumKeys.forEach((key, idx) => {\r\n let value;\r\n if (isIntegerChoice) {\r\n value = enumClass[key]; // numeric value\r\n } else {\r\n value = key; // string value\r\n }\r\n\r\n const label = stringValues[idx];\r\n const color = colors[idx];\r\n\r\n enumOptions.push(new EnumOption(value, label, color));\r\n });\r\n\r\n return enumOptions;\r\n }\r\n\r\n static getColorsForEnumClass(\r\n enumClass: any,\r\n stringValues: string[],\r\n customColors?: string[]\r\n ): string[] {\r\n let colors: string[] = CustomTheme.$joolerCombo;\r\n\r\n let enumSpecificColors: EnumCustomColorMapping = enumCustomColorMappings.find(\r\n item => Object.keys(item.enumClass).toString() == Object.keys(enumClass).toString()\r\n );\r\n\r\n if (enumSpecificColors) {\r\n colors = enumSpecificColors.colors;\r\n }\r\n if (customColors && customColors.length > 0) {\r\n colors = customColors;\r\n }\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 if (stringValues.length > colors.length) {\r\n for (let label of stringValues) {\r\n colors.push(colors[stringValues.indexOf(label) % colors.length]);\r\n }\r\n }\r\n return colors;\r\n }\r\n\r\n static getStringValuesForEnumClass(enumClass: any, isAllCaps?: boolean): string[] {\r\n let stringValues: string[] = [];\r\n\r\n let enumCustomLabels: EnumCustomLabelMapping = enumCustomLabelMappings.find(\r\n item => Object.keys(item.enumClass).toString() == Object.keys(enumClass).toString()\r\n );\r\n\r\n if (enumCustomLabels) {\r\n stringValues = enumCustomLabels.labels;\r\n } else {\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] = 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 }\r\n return stringValues;\r\n }\r\n\r\n static getLabelAndColorFromEnumValue(\r\n enumClass: any,\r\n enumValue: number,\r\n customColors?: string[]\r\n ): EnumOption {\r\n let enumOptions: EnumOption[] = EnumHelperBaseClass.getEnumOptionsFromEnumClass(\r\n enumClass,\r\n customColors\r\n );\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 { EnumOption } from '../enum-helper.model';\r\nimport { EnumHelperBaseClass } from '../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 implements OnInit, OnChanges, ControlValueAccessor {\r\n items: EnumOption[];\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 = EnumHelperBaseClass.getEnumOptionsFromEnumClass;\r\n @Input() valuesToDisable: number[] = [];\r\n @Input() valuesToHide: number[] = [];\r\n @Input() isChip: boolean = true;\r\n @Input() isDropdownDisabled: boolean = false;\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 @Input() isReadOnly: boolean = false;\r\n @Input() virtualScroll: boolean = false;\r\n @Output() change = new EventEmitter();\r\n @Output() close = new EventEmitter();\r\n\r\n constructor() { }\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 if (this.valuesToDisable.length > 0) {\r\n this.disabledItems();\r\n }\r\n if (this.valuesToHide.length > 0) {\r\n this.hideItems();\r\n }\r\n this.sortAndReorderItems();\r\n }\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.valuesToDisable.length > 0) {\r\n this.disabledItems();\r\n }\r\n if (this.valuesToHide.length > 0) {\r\n this.hideItems();\r\n }\r\n this.sortAndReorderItems();\r\n }\r\n\r\n disabledItems() {\r\n for (let value of this.valuesToDisable) {\r\n let index: number = this.items.findIndex(enumOption => enumOption.value == value);\r\n if (index >= 0) {\r\n this.items[index].disabled = true;\r\n } else {\r\n throw Error(\r\n 'Index was not found for an enum element in the valuesToDisable array provided.'\r\n );\r\n }\r\n }\r\n }\r\n\r\n hideItems() {\r\n for (let value of this.valuesToHide) {\r\n let index: number = this.items.findIndex(enumOption => enumOption.value == value);\r\n if (index >= 0) {\r\n this.items.splice(index, 1);\r\n } else {\r\n throw Error('Index was not found for an enum element in the valuesToHide array provided.');\r\n }\r\n }\r\n }\r\n\r\n sortAndReorderItems(): void {\r\n const nonDisabledItems = this.items.filter(item => !item.disabled);\r\n const disabledItems = this.items.filter(item => item.disabled);\r\n nonDisabledItems.sort((a, b) => a.label.localeCompare(b.label));\r\n this.items = [...nonDisabledItems, ...disabledItems];\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.propogateTouch();\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 this.propogateTouch();\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 padding: '0.4rem',\r\n };\r\n return style;\r\n }\r\n}\r\n","<div>\r\n <ng-select [ngStyle]=\"setStyles()\" (blur)=\"updateBlur()\" bindLabel=\"label\" bindValue=\"value\" [items]=\"items\"\r\n [virtualScroll]=\"virtualScroll\" [placeholder]=\"placeholder\" (change)=\"onSelectedItemChanged()\"\r\n [(ngModel)]=\"selectedItem\" [multiple]=\"isMultiple\" [disabled]=\"isDropdownDisabled\" [readonly]=\"isReadOnly\"\r\n [clearable]=\"clearable\" (clear)=\"clear()\" [appendTo]=\"appendTo\" dropdownPosition=\"bottom\">\r\n <ng-template ng-label-tmp let-item=\"item\" let-clear=\"clear\">\r\n <ng-container *ngIf=\"isChip\">\r\n <ng-container [ngTemplateOutlet]=\"chip\"\r\n [ngTemplateOutletContext]=\"{ item: item, showCross: clearable, clear: clear }\">\r\n </ng-container>\r\n </ng-container>\r\n <div [ngStyle]=\"setLabelStyle()\" *ngIf=\"!isChip\">{{ item.label }}</div>\r\n </ng-template>\r\n <ng-template ng-option-tmp let-item=\"item\" let-index=\"index\" let-search=\"searchTerm\" let-clear=\"clear\">\r\n <div [ngClass]=\"{ disabled: item.disabled }\">\r\n <div *ngIf=\"isChip\" class=\"chip\">\r\n <ng-container [ngTemplateOutlet]=\"chip\"\r\n [ngTemplateOutletContext]=\"{ item: item, showCross: false, clear: clear }\">\r\n </ng-container>\r\n </div>\r\n <div [ngStyle]=\"setLabelStyle()\" *ngIf=\"!isChip\">{{ item.label }}</div>\r\n </div>\r\n </ng-template>\r\n </ng-select>\r\n</div>\r\n\r\n<ng-template #chip let-showCross=\"showCross\" let-item=\"item\" let-clear=\"clear\">\r\n <ng-chip [enumClass]=\"enumChoices\" [withCross]=\"showCross\" [enumValue]=\"item.value\" [customColors]=\"customColors\"\r\n [item]=\"item\" [clear]=\"clear\">\r\n </ng-chip>\r\n</ng-template>","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 { FormArray, FormControl, FormGroup } from '@angular/forms';\nimport { ICellRendererAngularComp } from 'ag-grid-angular';\nimport { RowNode } from 'ag-grid-community';\n\nexport class AgGridSelectMixin implements ICellRendererAngularComp {\n params: any;\n key: string;\n value;\n rowId: number;\n isEdit: boolean;\n index: number;\n arrayKey: string = 'entries';\n rowLevelFG: FormGroup;\n width: number;\n selectedItemId: number;\n\n agInit(params): void {\n this.initializeRenderer(params);\n }\n\n initializeRenderer(params) {\n this.params = params;\n this.width = params.width;\n this.key = params.context.createKey(params.columnApi, params.column);\n this.value = params.value;\n this.rowId = params.node.id;\n this.index = params.node.rowIndex;\n if (params.context.arrayKey) {\n this.arrayKey = params.context.arrayKey;\n }\n this.setRowLevelFG();\n }\n\n setRowLevelFG() {\n this.index = this.params.node.rowIndex;\n let tableFG: FormGroup = this.params.context.formGroup;\n let fa: FormArray = tableFG.get(this.arrayKey) as FormArray;\n let rowLevelFG = fa.at(this.index) as FormGroup;\n this.rowLevelFG = rowLevelFG;\n }\n\n getFormControl() {\n let fc: FormControl = this.rowLevelFG.get(this.key) as FormControl;\n return fc;\n }\n\n updateValue(params, value: number | null) {\n this.setRowLevelFG();\n this.getFormControl().setValue(value);\n let rowNode: RowNode = params.node;\n rowNode.setDataValue(this.key, value);\n }\n\n // $event here is an object.\n onSelection($event: any) {\n this.selectedItemId = $event?.id;\n this.updateValue(this.params, $event?.id);\n if (this.params.onSelection instanceof Function) {\n const params = {\n object: $event,\n rowData: this.params.node.data,\n value: $event.id,\n rowNode: this.params.node,\n };\n this.params.onSelection(params);\n }\n }\n\n onEnumSelected($event: number) {\n this.updateValue(this.params, $event);\n if (this.params.onSelection instanceof Function) {\n const params = {\n rowData: this.params.node.data,\n value: $event,\n rowNode: this.params.node,\n };\n this.params.onSelection(params);\n }\n }\n\n refresh(param): boolean {\n return false;\n }\n}\n","import { Component } from '@angular/core';\r\nimport { AgGridSelectMixin } from '../ag-grid-select-mixin';\r\n\r\n@Component({\r\n selector: 'choose-enum-renderer',\r\n templateUrl: './choose-enum-renderer.component.html',\r\n styleUrls: [\r\n './choose-enum-renderer.component.scss',\r\n ],\r\n})\r\nexport class ChooseEnumRendererComponent extends AgGridSelectMixin {\r\n valuesToDisable: number[] = [];\r\n valuesToHide: number[] = [];\r\n isChip: boolean = true;\r\n clearable: boolean = true;\r\n\r\n constructor() {\r\n super();\r\n }\r\n\r\n agInit(params: any): void {\r\n super.agInit(params);\r\n if (params.valuesToDisable != null) {\r\n this.valuesToDisable = params.valuesToDisable;\r\n }\r\n if (params.valuesToHide != null) {\r\n this.valuesToHide = params.valuesToHide;\r\n }\r\n if (params.isChip != null) {\r\n this.isChip = params.isChip;\r\n }\r\n if (params.clearable != null) {\r\n this.clearable = params.clearable;\r\n }\r\n }\r\n\r\n get showError() {\r\n if (this.rowLevelFG.get(this.key).errors && this.rowLevelFG.get(this.key).touched) {\r\n return true;\r\n } else {\r\n return false;\r\n }\r\n }\r\n}\r\n","<div class=\"all\" [ngClass]=\"{ single: !showError, double: showError }\" *ngIf=\"rowLevelFG\" [formGroup]=\"rowLevelFG\">\r\n <choose-enum [clearable]=\"clearable\" [formControlName]=\"key\" [appendTo]=\"'body'\" [label]=\"params.label\"\r\n [labelTextAlign]=\"params.labelTextAlign\" [labelTextFontWeight]=\"params.labelTextFontWeight\"\r\n [labelTextFontSize]=\"params.labelTextFontSize\" [selectedItem]=\"params.value\" [valuesToHide]=\"valuesToHide\"\r\n [valuesToDisable]=\"valuesToDisable\" [isDropdownDisabled]=\"params.isDropdownDisabled\"\r\n [enumChoices]=\"params.enumChoices\" [placeholder]=\"params.placeholder\" [width]=\"params.width\" [isChip]=\"isChip\"\r\n [paddingTop]=\"params.paddingTop\" [customColors]=\"params.customColors\" (change)=\"onEnumSelected($event)\">\r\n </choose-enum>\r\n</div>","export enum ChooseObjectTemplateType {\n DEFAULT = 0,\n BASIC = 1,\n CONTENT_PROJECTION = 2,\n}\n","export enum ChooseItemFullObjectControlConfig {\n OBJECT = 1,\n ID = 2,\n}\n","import { HttpParams } from '@angular/common/http';\n\nexport class DictionaryToHttpParamsConverter {\n static dictionaryToHttpParamsConverter(form_dictionary) {\n let queryParams = new HttpParams();\n for (let key in form_dictionary) {\n if (\n form_dictionary[key] !== null &&\n form_dictionary[key] !== '' &&\n form_dictionary[key] !== undefined &&\n form_dictionary[key]?.length !== 0 \n )\n queryParams = queryParams.append(key, form_dictionary[key]);\n }\n return queryParams;\n }\n}\n","import { Inject, Injectable } from '@angular/core';\r\nimport { HttpClient, HttpHeaders } from '@angular/common/http';\r\nimport { Observable } from 'rxjs';\r\nimport { DictionaryToHttpParamsConverter } from '../dictionary-to-params-converter';\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 getHeadersAndParams(dictionary) {\r\n let httpHeaders;\r\n const token = localStorage.getItem('token');\r\n if (token) {\r\n httpHeaders = new HttpHeaders({\r\n 'Content-Type': 'application/json; charset-utf-8',\r\n Authorization: 'Token ' + token,\r\n });\r\n } else {\r\n httpHeaders = new HttpHeaders();\r\n }\r\n const params = DictionaryToHttpParamsConverter.dictionaryToHttpParamsConverter(dictionary);\r\n return { headers: httpHeaders, params: params };\r\n }\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, filterParams?: any): Observable<any> {\r\n if (filterParams) {\r\n return this.http.get(`${this.env.apiURL}${apiPath}`, this.getHeadersAndParams(filterParams));\r\n }\r\n else {\r\n return this.http.get(`${this.env.apiURL}${apiPath}`, this.getHeaders());\r\n }\r\n }\r\n}\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>","import {\r\n ChangeDetectorRef,\r\n Component,\r\n ContentChild,\r\n EventEmitter,\r\n forwardRef,\r\n Input,\r\n OnChanges,\r\n OnInit,\r\n Output,\r\n SimpleChanges,\r\n TemplateRef,\r\n} from '@angular/core';\r\nimport {\r\n AbstractControl,\r\n ControlValueAccessor,\r\n NG_VALIDATORS,\r\n NG_VALUE_ACCESSOR,\r\n ValidationErrors,\r\n Validator,\r\n} from '@angular/forms';\r\nimport { MatDialog } from '@angular/material/dialog';\r\nimport { LabelAndField } from '../models/label-and-field.model';\r\nimport { ChooseGeneralItemService } from './choose-general-item.service';\r\nimport { PrimaryColors } from '../primary-colors';\r\nimport { ChooseObjectTemplateType } from './choose-object-template-type.enum';\r\nimport { ChooseObjectBasicTemplate } from './choose-object-basic-template.model';\r\nimport { ChooseItemFullObjectControlConfig } from '../models/choose-item-full-object-control-config.enum';\r\nimport { ChipInputType } from '@jooler/shared-general-components';\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 provide: NG_VALIDATORS,\r\n useExisting: ChooseGeneralItemComponent,\r\n multi: true,\r\n },\r\n ],\r\n})\r\nexport class ChooseGeneralItemComponent\r\n implements OnInit, OnChanges, Validator, ControlValueAccessor\r\n{\r\n primaryRed: string = PrimaryColors.$primaryRedColor;\r\n isLoading: boolean = false;\r\n @Input() items: any[];\r\n @Input() label: string = 'label';\r\n @Input() appendTo: string = 'body';\r\n @Input() placeholder: string;\r\n @Input() apiPath: string;\r\n @Input() isMultiple: boolean = false;\r\n @Input() hideSelectedItem: boolean;\r\n @Input() objects: LabelAndField[];\r\n @Input() showLabel: boolean = false;\r\n @Input() separator: string;\r\n @Input() width: 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() readOnly: boolean;\r\n @Input() useFullObject: boolean = false;\r\n @Input() showAdd: boolean = false;\r\n @Input() dialogComponentClass: any;\r\n @Input() showDialogDefaultButtons: boolean = false;\r\n @Input() dialogComponentInputs: any = {\r\n isDialog: true,\r\n };\r\n @Input() bindValueKey: string | null = 'id'; // or null for full object\r\n @Input() addRoute: string;\r\n @Input() canActionsRoute: boolean;\r\n @Input() dialogTitle: string;\r\n @Input() clearable: boolean = true;\r\n @Input() filterParams: any;\r\n @Input() templateType: ChooseObjectTemplateType = ChooseObjectTemplateType.DEFAULT;\r\n @Input() basicTemplateData: ChooseObjectBasicTemplate;\r\n @Input() contentProjectionLabelKey: string;\r\n @Input() fullObjectControlConfig: ChooseItemFullObjectControlConfig =\r\n ChooseItemFullObjectControlConfig.ID;\r\n @Output() change = new EventEmitter();\r\n @Output() blur = new EventEmitter();\r\n @ContentChild('customOption') customOptionTemplate: TemplateRef<any>;\r\n\r\n ChooseObjectTemplateType = ChooseObjectTemplateType;\r\n chipInputTypes = ChipInputType;\r\n\r\n constructor(\r\n private _ChooseGeneralItemService: ChooseGeneralItemService,\r\n private dialog: MatDialog,\r\n private _cdr: ChangeDetectorRef\r\n ) {}\r\n\r\n ngOnInit(): void {\r\n if (this.templateType == ChooseObjectTemplateType.BASIC) {\r\n this.setupBasicTemplate();\r\n }\r\n }\r\n\r\n setupBasicTemplate() {}\r\n\r\n ngOnChanges(changes: SimpleChanges): void {\r\n if (changes['items'] && !changes.items) {\r\n this.items = undefined;\r\n }\r\n if (changes['apiPath'] && !changes.apiPath) {\r\n this.apiPath = undefined;\r\n }\r\n this.validateInputs(changes);\r\n\r\n if (this.showAdd) {\r\n this.validateAddConfiguration();\r\n }\r\n if (!changes['items'] || !changes['items'].currentValue) {\r\n this.isLoading = true;\r\n this.getData();\r\n } else {\r\n this.isLoading = false;\r\n }\r\n }\r\n\r\n validateAddConfiguration() {\r\n if (\r\n (this.addRoute == '' || this.addRoute == null || this.addRoute == undefined) &&\r\n (this.dialogComponentClass == null || this.dialogComponentClass == undefined)\r\n ) {\r\n throw Error(\r\n 'Showing the add button requires either a route for the add button to route to, or a component class for a dialog to open up with that component.'\r\n );\r\n }\r\n }\r\n\r\n writeValue(item: any) {\r\n if (item != undefined || item != null) {\r\n if (!this.useFullObject) {\r\n this.selectedItemId = item;\r\n } else {\r\n if (Array.isArray(item)) {\r\n this.selectedItemId = item.map(item => item.id);\r\n } else {\r\n this.selectedItemId = item.id;\r\n }\r\n }\r\n } else {\r\n this.selectedItemId = null;\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 private onValidationChange: any = () => {};\r\n\r\n updateBlur() {\r\n this.propogateTouch();\r\n this.blur.emit();\r\n }\r\n\r\n onSelectedItemChanged($event) {\r\n let valueToPropagate: any;\r\n if (this.fullObjectControlConfig == ChooseItemFullObjectControlConfig.ID) {\r\n valueToPropagate = this.selectedItemId;\r\n } else if (this.fullObjectControlConfig == ChooseItemFullObjectControlConfig.OBJECT) {\r\n valueToPropagate = $event;\r\n } else {\r\n throw Error('ChooseItemFullObjectControlConfig is not recognized.');\r\n }\r\n this.propagateChange(valueToPropagate);\r\n this.change.emit($event);\r\n this.onValidationChange();\r\n }\r\n\r\n validateInputs(changes: SimpleChanges) {\r\n if (\r\n changes.apiPath &&\r\n changes.apiPath.currentValue &&\r\n changes.items &&\r\n changes.items.currentValue\r\n ) {\r\n throw Error('Both an API path and an items list was provided.');\r\n }\r\n }\r\n\r\n getData() {\r\n if (this.apiPath) {\r\n this._ChooseGeneralItemService.getData(this.apiPath, this.filterParams).subscribe({\r\n next: (response: any[]) => {\r\n this.items = response;\r\n this.isLoading = false;\r\n this._cdr.markForCheck();\r\n console.log(\"response: items from '\", this.apiPath, \"' found: \", this.items);\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 if (this.width) {\r\n style = {\r\n width: this.width + 'rem',\r\n };\r\n } else {\r\n style = {\r\n width: '100%',\r\n };\r\n }\r\n return style;\r\n }\r\n\r\n onClickAddNew() {\r\n console.log('DYNAMIC DIALOG NOT IMPLEMENTED IN LIBRARY YET');\r\n \r\n // Add dynamic dialog later\r\n // let dialogRef = this.dialog.open(DynamicDialogComponent, {\r\n // panelClass: 'custom-dialog-padding',\r\n // width: '90%',\r\n // minWidth: '90%',\r\n // maxHeight: '90vh',\r\n // data: {\r\n // component: this.dialogComponentClass,\r\n // showDefaultButtons: this.showDialogDefaultButtons,\r\n // title: this.dialogTitle,\r\n // inputs: this.dialogComponentInputs,\r\n // },\r\n // });\r\n\r\n // dialogRef.afterClosed().subscribe((data: any) => {\r\n // if (data) {\r\n // console.log('New item Added: ', data);\r\n // this.items.push(data);\r\n // this.items = [...this.items];\r\n // }\r\n // });\r\n }\r\n\r\n setDisabledState(isDisabled: boolean) {\r\n this.disabled = isDisabled;\r\n }\r\n\r\n registerOnValidatorChange?(fn: () => void): void {\r\n this.onValidationChange = fn;\r\n }\r\n\r\n validate(control: AbstractControl): ValidationErrors | null {\r\n return null;\r\n if (control) {\r\n const errors = control.errors;\r\n if (errors) {\r\n console.log('errorssss: ', errors);\r\n return errors;\r\n } else {\r\n return null;\r\n }\r\n }\r\n }\r\n}\r\n","<div class=\"select\">\r\n <ng-select [readonly]=\"readOnly\" [loading]=\"isLoading\" [hideSelected]=\"hideSelectedItem\"\r\n [closeOnSelect]=\"!isMultiple\" [ngStyle]=\"setWidth()\" class=\"component\" [disabled]=\"disabled\"\r\n [appendTo]=\"appendTo\" dropdownPosition=\"bottom\" (blur)=\"updateBlur()\" [bindLabel]=\"label\"\r\n [bindValue]=\"bindValueKey\" [compareWith]=\"\" [items]=\"items\" [placeholder]=\"placeholder\"\r\n (change)=\"onSelectedItemChanged($event)\" [(ngModel)]=\"selectedItemId\" [clearable]=\"clearable\"\r\n [multiple]=\"isMultiple\">\r\n <ng-container *ngIf=\"templateType == ChooseObjectTemplateType.DEFAULT\">\r\n <ng-template *ngIf=\"isLoading\" ng-label-tmp let-item=\"item\" let-clear=\"clear\"> </ng-template>\r\n\r\n <ng-template ng-label-tmp let-item=\"item\" let-index=\"index\" let-search=\"searchTerm\">\r\n <ng-container *ngIf=\"objects; else nonObjectLabelTemplate\">\r\n <span class=\"template\" *ngFor=\"let object of objects; let isLast = last\">\r\n <span class=\"template-item\">\r\n {{ showLabel ? object.label + ': ' : ''\r\n }}{{\r\n isTypeDate ? (item[object.field] | date: 'mediumDate') : item[object.field]\r\n }}</span>\r\n </span>\r\n </ng-container>\r\n <ng-template #nonObjectLabelTemplate>{{ item }} </ng-template>\r\n </ng-template>\r\n\r\n <!-- Option Template -->\r\n <ng-template ng-option-tmp let-item=\"item\" let-index=\"index\" let-search=\"searchTerm\">\r\n <ng-container *ngIf=\"objects; else nonObjectOptionTemplate\">\r\n <span *ngFor=\"let object of objects; let isLast = last\">\r\n {{ showLabel ? object.label + ': ' : ''\r\n }}{{ isTypeDate ? (item[object.field] | date: 'mediumDate') : item[object.field] }}\r\n </span>\r\n </ng-container>\r\n <ng-template #nonObjectOptionTemplate>{{ item }} </ng-template>\r\n </ng-template>\r\n\r\n <ng-template *ngIf=\"isChip && !isLoading\" ng-label-tmp let-item=\"item\" let-clear=\"clear\">\r\n <ng-chip (mousedown)=\"$event.stopPropagation()\" [clear]=\"clear\" [withCross]=\"isMultiple\"\r\n [inputType]=\"chipInputTypes.CUSTOM\"\r\n [backgroundColor]=\"item.disabled == true ? primaryRed : chipColor\" [label]=\"item[objects[0].field]\"\r\n [item]=\"item\">\r\n </ng-chip>\r\n </ng-template>\r\n <ng-template *ngIf=\"isChip && !isLoading\" ng-option-tmp let-clear=\"clear\" let-item=\"item\">\r\n <ng-chip (mousedown)=\"$event.stopPropagation()\" [withCross]=\"false\" [inputType]=\"chipInputTypes.CUSTOM\"\r\n [backgroundColor]=\"item.disabled == true ? primaryRed : chipColor\" [label]=\"item[objects[0].field]\">\r\n </ng-chip>\r\n </ng-template>\r\n </ng-container>\r\n\r\n <ng-container *ngIf=\"templateType == ChooseObjectTemplateType.BASIC\">\r\n <ng-template ng-label-tmp let-item=\"item\" let-clear=\"clear\">\r\n {{ item[basicTemplateData.label] }}\r\n </ng-template>\r\n <ng-template ng-option-tmp let-clear=\"clear\" let-item=\"item\">\r\n <mat-card class=\"basic-template-card\" [ngClass]=\"{\r\n 'with-image': basicTemplateData.hasImage,\r\n 'without-image': !basicTemplateData.hasImage,\r\n }\">\r\n <div class=\"image-cont\" *ngIf=\"basicTemplateData.hasImage\">\r\n <img class=\"main-image\" [src]=\"item[basicTemplateData.image]\"\r\n onerror=\"this.src='../../../assets/images/defaultImage.jpg';\" />\r\n </div>\r\n\r\n <div class=\"info\">\r\n <div class=\"title\">\r\n {{ item[basicTemplateData.title] }}\r\n </div>\r\n <div class=\"subtitle-style\" *ngIf=\"basicTemplateData.hasSubtitleOne\">\r\n <span>{{ item[basicTemplateData.subtitleOne] }}</span>\r\n <ng-container *ngIf=\"basicTemplateData.hasSubtitleTwo\">\r\n <span class=\"col-divider\"> | </span>\r\n <span>{{ item[basicTemplateData.subtitleTwo] }}</span>\r\n </ng-container>\r\n </div>\r\n <div class=\"description\" *ngIf=\"basicTemplateData.hasDescription\">\r\n {{ item[basicTemplateData.description] }}\r\n </div>\r\n </div>\r\n </mat-card>\r\n </ng-template>\r\n </ng-container>\r\n <ng-container *ngIf=\"templateType == ChooseObjectTemplateType.CONTENT_PROJECTION\">\r\n <ng-template *ngIf=\"isLoading\" ng-label-tmp let-item=\"item\" let-clear=\"clear\"> </ng-template>\r\n\r\n <ng-template ng-label-tmp let-item=\"item\" let-index=\"index\" let-search=\"searchTerm\">\r\n <span class=\"template\">\r\n <span class=\"template-item\"> {{ item[contentProjectionLabelKey] }} </span>\r\n </span>\r\n </ng-template>\r\n\r\n <!-- Option Template -->\r\n <ng-template ng-option-tmp let-item=\"item\" let-index=\"index\" let-search=\"searchTerm\">\r\n <ng-container [ngTemplateOutlet]=\"customOptionTemplate\" [ngTemplateOutletContext]=\"{ $implicit: item }\">\r\n </ng-container>\r\n </ng-template>\r\n </ng-container>\r\n </ng-select>\r\n <dropdown-actions *ngIf=\"showAdd\" [canRoute]=\"canActionsRoute\" [route]=\"addRoute\"\r\n (addClicked)=\"onClickAddNew()\"></dropdown-actions>\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-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\" [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}","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","i3.ChooseEnumComponent","i1","i4","i1.ChooseGeneralItemService","i5","i7","i8.DropdownActionsComponent","i1.ChooseGeneralItemComponent","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/enum-helper.model.ts","../../../projects/inputs/src/lib/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/ag-grid-select-mixin.ts","../../../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/primary-colors.ts","../../../projects/inputs/src/lib/choose-general-item/choose-object-template-type.enum.ts","../../../projects/inputs/src/lib/models/choose-item-full-object-control-config.enum.ts","../../../projects/inputs/src/lib/dictionary-to-params-converter.ts","../../../projects/inputs/src/lib/choose-general-item/choose-general-item.service.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/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/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","export class EnumOption {\r\n value: number;\r\n label: string;\r\n color: string;\r\n description?: string;\r\n disabled?: boolean;\r\n\r\n constructor(value: number, label: string, color: string, disabled: boolean = false) {\r\n this.value = value;\r\n this.label = label;\r\n this.color = color;\r\n this.disabled = disabled;\r\n }\r\n}\r\n","\r\nimport { 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 = false,\r\n isIntegerChoice: boolean = true\r\n ) {\r\n const enumOptions: EnumOption[] = [];\r\n\r\n // Get string keys only (filter out numeric reverse mappings)\r\n const enumKeys = Object.keys(enumClass).filter(k => isNaN(Number(k)));\r\n\r\n // Prepare display labels\r\n const stringValues = EnumHelperBaseClass.getStringValuesForEnumClass(enumClass, isAllCaps);\r\n\r\n // Prepare colors\r\n const colors = EnumHelperBaseClass.getColorsForEnumClass(enumClass, stringValues, customColors);\r\n\r\n enumKeys.forEach((key, idx) => {\r\n let value;\r\n if (isIntegerChoice) {\r\n value = enumClass[key]; // numeric value\r\n } else {\r\n value = key; // string value\r\n }\r\n\r\n const label = stringValues[idx];\r\n const color = colors[idx];\r\n\r\n enumOptions.push(new EnumOption(value, label, color));\r\n });\r\n\r\n return enumOptions;\r\n }\r\n\r\n static getColorsForEnumClass(\r\n enumClass: any,\r\n stringValues: string[],\r\n customColors?: string[]\r\n ): string[] {\r\n let colors: string[] = CustomTheme.$joolerCombo;\r\n\r\n if (customColors && customColors.length > 0) {\r\n colors = customColors;\r\n }\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 if (stringValues.length > colors.length) {\r\n for (let label of stringValues) {\r\n colors.push(colors[stringValues.indexOf(label) % colors.length]);\r\n }\r\n }\r\n return colors;\r\n }\r\n\r\n static getStringValuesForEnumClass(enumClass: any, isAllCaps?: boolean): string[] {\r\n let stringValues: string[] = [];\r\n\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] = 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 }\r\n return stringValues;\r\n }\r\n\r\n static getLabelAndColorFromEnumValue(\r\n enumClass: any,\r\n enumValue: number,\r\n customColors?: string[]\r\n ): EnumOption {\r\n let enumOptions: EnumOption[] = EnumHelperBaseClass.getEnumOptionsFromEnumClass(\r\n enumClass,\r\n customColors\r\n );\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 { EnumOption } from '../enum-helper.model';\r\nimport { EnumHelperBaseClass } from '../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 implements OnInit, OnChanges, ControlValueAccessor {\r\n items: EnumOption[];\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 = EnumHelperBaseClass.getEnumOptionsFromEnumClass;\r\n @Input() valuesToDisable: number[] = [];\r\n @Input() valuesToHide: number[] = [];\r\n @Input() isChip: boolean = true;\r\n @Input() isDropdownDisabled: boolean = false;\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 @Input() isReadOnly: boolean = false;\r\n @Input() virtualScroll: boolean = false;\r\n @Output() change = new EventEmitter();\r\n @Output() close = new EventEmitter();\r\n\r\n constructor() { }\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 if (this.valuesToDisable.length > 0) {\r\n this.disabledItems();\r\n }\r\n if (this.valuesToHide.length > 0) {\r\n this.hideItems();\r\n }\r\n this.sortAndReorderItems();\r\n }\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.valuesToDisable.length > 0) {\r\n this.disabledItems();\r\n }\r\n if (this.valuesToHide.length > 0) {\r\n this.hideItems();\r\n }\r\n this.sortAndReorderItems();\r\n }\r\n\r\n disabledItems() {\r\n for (let value of this.valuesToDisable) {\r\n let index: number = this.items.findIndex(enumOption => enumOption.value == value);\r\n if (index >= 0) {\r\n this.items[index].disabled = true;\r\n } else {\r\n throw Error(\r\n 'Index was not found for an enum element in the valuesToDisable array provided.'\r\n );\r\n }\r\n }\r\n }\r\n\r\n hideItems() {\r\n for (let value of this.valuesToHide) {\r\n let index: number = this.items.findIndex(enumOption => enumOption.value == value);\r\n if (index >= 0) {\r\n this.items.splice(index, 1);\r\n } else {\r\n throw Error('Index was not found for an enum element in the valuesToHide array provided.');\r\n }\r\n }\r\n }\r\n\r\n sortAndReorderItems(): void {\r\n const nonDisabledItems = this.items.filter(item => !item.disabled);\r\n const disabledItems = this.items.filter(item => item.disabled);\r\n nonDisabledItems.sort((a, b) => a.label.localeCompare(b.label));\r\n this.items = [...nonDisabledItems, ...disabledItems];\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.propogateTouch();\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 this.propogateTouch();\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 padding: '0.4rem',\r\n };\r\n return style;\r\n }\r\n}\r\n","<div>\r\n <ng-select [ngStyle]=\"setStyles()\" (blur)=\"updateBlur()\" bindLabel=\"label\" bindValue=\"value\" [items]=\"items\"\r\n [virtualScroll]=\"virtualScroll\" [placeholder]=\"placeholder\" (change)=\"onSelectedItemChanged()\"\r\n [(ngModel)]=\"selectedItem\" [multiple]=\"isMultiple\" [disabled]=\"isDropdownDisabled\" [readonly]=\"isReadOnly\"\r\n [clearable]=\"clearable\" (clear)=\"clear()\" [appendTo]=\"appendTo\" dropdownPosition=\"bottom\">\r\n <ng-template ng-label-tmp let-item=\"item\" let-clear=\"clear\">\r\n <ng-container *ngIf=\"isChip\">\r\n <ng-container [ngTemplateOutlet]=\"chip\"\r\n [ngTemplateOutletContext]=\"{ item: item, showCross: clearable, clear: clear }\">\r\n </ng-container>\r\n </ng-container>\r\n <div [ngStyle]=\"setLabelStyle()\" *ngIf=\"!isChip\">{{ item.label }}</div>\r\n </ng-template>\r\n <ng-template ng-option-tmp let-item=\"item\" let-index=\"index\" let-search=\"searchTerm\" let-clear=\"clear\">\r\n <div [ngClass]=\"{ disabled: item.disabled }\">\r\n <div *ngIf=\"isChip\" class=\"chip\">\r\n <ng-container [ngTemplateOutlet]=\"chip\"\r\n [ngTemplateOutletContext]=\"{ item: item, showCross: false, clear: clear }\">\r\n </ng-container>\r\n </div>\r\n <div [ngStyle]=\"setLabelStyle()\" *ngIf=\"!isChip\">{{ item.label }}</div>\r\n </div>\r\n </ng-template>\r\n </ng-select>\r\n</div>\r\n\r\n<ng-template #chip let-showCross=\"showCross\" let-item=\"item\" let-clear=\"clear\">\r\n <ng-chip [enumClass]=\"enumChoices\" [withCross]=\"showCross\" [enumValue]=\"item.value\" [customColors]=\"customColors\"\r\n [item]=\"item\" [clear]=\"clear\">\r\n </ng-chip>\r\n</ng-template>","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 { FormArray, FormControl, FormGroup } from '@angular/forms';\r\nimport { ICellRendererAngularComp } from 'ag-grid-angular';\r\nimport { RowNode } from 'ag-grid-community';\r\n\r\nexport class AgGridSelectMixin implements ICellRendererAngularComp {\r\n params: any;\r\n key: string;\r\n value;\r\n rowId: number;\r\n isEdit: boolean;\r\n index: number;\r\n arrayKey: string = 'entries';\r\n rowLevelFG: FormGroup;\r\n width: number;\r\n selectedItemId: number;\r\n\r\n agInit(params): void {\r\n this.initializeRenderer(params);\r\n }\r\n\r\n initializeRenderer(params) {\r\n this.params = params;\r\n this.width = params.width;\r\n this.key = params.context.createKey(params.columnApi, params.column);\r\n this.value = params.value;\r\n this.rowId = params.node.id;\r\n this.index = params.node.rowIndex;\r\n if (params.context.arrayKey) {\r\n this.arrayKey = params.context.arrayKey;\r\n }\r\n this.setRowLevelFG();\r\n }\r\n\r\n setRowLevelFG() {\r\n this.index = this.params.node.rowIndex;\r\n let tableFG: FormGroup = this.params.context.formGroup;\r\n let fa: FormArray = tableFG.get(this.arrayKey) as FormArray;\r\n let rowLevelFG = fa.at(this.index) as FormGroup;\r\n this.rowLevelFG = rowLevelFG;\r\n }\r\n\r\n getFormControl() {\r\n let fc: FormControl = this.rowLevelFG.get(this.key) as FormControl;\r\n return fc;\r\n }\r\n\r\n updateValue(params, value: number | null) {\r\n this.setRowLevelFG();\r\n this.getFormControl().setValue(value);\r\n let rowNode: RowNode = params.node;\r\n rowNode.setDataValue(this.key, value);\r\n }\r\n\r\n // $event here is an object.\r\n onSelection($event: any) {\r\n this.selectedItemId = $event?.id;\r\n this.updateValue(this.params, $event?.id);\r\n if (this.params.onSelection instanceof Function) {\r\n const params = {\r\n object: $event,\r\n rowData: this.params.node.data,\r\n value: $event.id,\r\n rowNode: this.params.node,\r\n };\r\n this.params.onSelection(params);\r\n }\r\n }\r\n\r\n onEnumSelected($event: number) {\r\n this.updateValue(this.params, $event);\r\n if (this.params.onSelection instanceof Function) {\r\n const params = {\r\n rowData: this.params.node.data,\r\n value: $event,\r\n rowNode: this.params.node,\r\n };\r\n this.params.onSelection(params);\r\n }\r\n }\r\n\r\n refresh(param): boolean {\r\n return false;\r\n }\r\n}\r\n","import { Component } from '@angular/core';\r\nimport { AgGridSelectMixin } from '../ag-grid-select-mixin';\r\n\r\n@Component({\r\n selector: 'choose-enum-renderer',\r\n templateUrl: './choose-enum-renderer.component.html',\r\n styleUrls: [\r\n './choose-enum-renderer.component.scss',\r\n ],\r\n})\r\nexport class ChooseEnumRendererComponent extends AgGridSelectMixin {\r\n valuesToDisable: number[] = [];\r\n valuesToHide: number[] = [];\r\n isChip: boolean = true;\r\n clearable: boolean = true;\r\n\r\n constructor() {\r\n super();\r\n }\r\n\r\n agInit(params: any): void {\r\n super.agInit(params);\r\n if (params.valuesToDisable != null) {\r\n this.valuesToDisable = params.valuesToDisable;\r\n }\r\n if (params.valuesToHide != null) {\r\n this.valuesToHide = params.valuesToHide;\r\n }\r\n if (params.isChip != null) {\r\n this.isChip = params.isChip;\r\n }\r\n if (params.clearable != null) {\r\n this.clearable = params.clearable;\r\n }\r\n }\r\n\r\n get showError() {\r\n if (this.rowLevelFG.get(this.key).errors && this.rowLevelFG.get(this.key).touched) {\r\n return true;\r\n } else {\r\n return false;\r\n }\r\n }\r\n}\r\n","<div class=\"all\" [ngClass]=\"{ single: !showError, double: showError }\" *ngIf=\"rowLevelFG\" [formGroup]=\"rowLevelFG\">\r\n <choose-enum [clearable]=\"clearable\" [formControlName]=\"key\" [appendTo]=\"'body'\" [label]=\"params.label\"\r\n [labelTextAlign]=\"params.labelTextAlign\" [labelTextFontWeight]=\"params.labelTextFontWeight\"\r\n [labelTextFontSize]=\"params.labelTextFontSize\" [selectedItem]=\"params.value\" [valuesToHide]=\"valuesToHide\"\r\n [valuesToDisable]=\"valuesToDisable\" [isDropdownDisabled]=\"params.isDropdownDisabled\"\r\n [enumChoices]=\"params.enumChoices\" [placeholder]=\"params.placeholder\" [width]=\"params.width\" [isChip]=\"isChip\"\r\n [paddingTop]=\"params.paddingTop\" [customColors]=\"params.customColors\" (change)=\"onEnumSelected($event)\">\r\n </choose-enum>\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 $primaryGrayColor = '#676767';\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 static $primaryLightBlueColor = '#b9cff2';\r\n static $primaryYellowColor = '#F2CD5C';\r\n static $primaryOrangeColor = '#F2921D';\r\n static $primaryLimeGreenColor = '#AFFF00';\r\n static $primaryNavyBlueColor = '#000080';\r\n static $primaryOrangeRedColor = '#FF4500';\r\n static $primaryDarkPurpleColor = '#7600BC';\r\n}","export enum ChooseObjectTemplateType {\r\n DEFAULT = 0,\r\n BASIC = 1,\r\n CONTENT_PROJECTION = 2,\r\n}\r\n","export enum ChooseItemFullObjectControlConfig {\r\n OBJECT = 1,\r\n ID = 2,\r\n}\r\n","import { HttpParams } from '@angular/common/http';\r\n\r\nexport class DictionaryToHttpParamsConverter {\r\n static dictionaryToHttpParamsConverter(form_dictionary) {\r\n let queryParams = new HttpParams();\r\n for (let key in form_dictionary) {\r\n if (\r\n form_dictionary[key] !== null &&\r\n form_dictionary[key] !== '' &&\r\n form_dictionary[key] !== undefined &&\r\n form_dictionary[key]?.length !== 0 \r\n )\r\n queryParams = queryParams.append(key, form_dictionary[key]);\r\n }\r\n return queryParams;\r\n }\r\n}\r\n","import { Inject, Injectable } from '@angular/core';\r\nimport { HttpClient, HttpHeaders } from '@angular/common/http';\r\nimport { Observable } from 'rxjs';\r\nimport { DictionaryToHttpParamsConverter } from '../dictionary-to-params-converter';\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 getHeadersAndParams(dictionary) {\r\n let httpHeaders;\r\n const token = localStorage.getItem('token');\r\n if (token) {\r\n httpHeaders = new HttpHeaders({\r\n 'Content-Type': 'application/json; charset-utf-8',\r\n Authorization: 'Token ' + token,\r\n });\r\n } else {\r\n httpHeaders = new HttpHeaders();\r\n }\r\n const params = DictionaryToHttpParamsConverter.dictionaryToHttpParamsConverter(dictionary);\r\n return { headers: httpHeaders, params: params };\r\n }\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, filterParams?: any): Observable<any> {\r\n if (filterParams) {\r\n return this.http.get(`${this.env.apiURL}${apiPath}`, this.getHeadersAndParams(filterParams));\r\n }\r\n else {\r\n return this.http.get(`${this.env.apiURL}${apiPath}`, this.getHeaders());\r\n }\r\n }\r\n}\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>","import {\r\n ChangeDetectorRef,\r\n Component,\r\n ContentChild,\r\n EventEmitter,\r\n forwardRef,\r\n Input,\r\n OnChanges,\r\n OnInit,\r\n Output,\r\n SimpleChanges,\r\n TemplateRef,\r\n} from '@angular/core';\r\nimport {\r\n AbstractControl,\r\n ControlValueAccessor,\r\n NG_VALIDATORS,\r\n NG_VALUE_ACCESSOR,\r\n ValidationErrors,\r\n Validator,\r\n} from '@angular/forms';\r\nimport { MatDialog } from '@angular/material/dialog';\r\nimport { LabelAndField } from '../models/label-and-field.model';\r\nimport { ChooseGeneralItemService } from './choose-general-item.service';\r\nimport { PrimaryColors } from '../primary-colors';\r\nimport { ChooseObjectTemplateType } from './choose-object-template-type.enum';\r\nimport { ChooseObjectBasicTemplate } from './choose-object-basic-template.model';\r\nimport { ChooseItemFullObjectControlConfig } from '../models/choose-item-full-object-control-config.enum';\r\nimport { ChipInputType } from '@jooler/shared-general-components';\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 provide: NG_VALIDATORS,\r\n useExisting: ChooseGeneralItemComponent,\r\n multi: true,\r\n },\r\n ],\r\n})\r\nexport class ChooseGeneralItemComponent\r\n implements OnInit, OnChanges, Validator, ControlValueAccessor\r\n{\r\n primaryRed: string = PrimaryColors.$primaryRedColor;\r\n isLoading: boolean = false;\r\n @Input() items: any[];\r\n @Input() label: string = 'label';\r\n @Input() appendTo: string = 'body';\r\n @Input() placeholder: string;\r\n @Input() apiPath: string;\r\n @Input() isMultiple: boolean = false;\r\n @Input() hideSelectedItem: boolean;\r\n @Input() objects: LabelAndField[];\r\n @Input() showLabel: boolean = false;\r\n @Input() separator: string;\r\n @Input() width: 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() readOnly: boolean;\r\n @Input() useFullObject: boolean = false;\r\n @Input() showAdd: boolean = false;\r\n @Input() dialogComponentClass: any;\r\n @Input() showDialogDefaultButtons: boolean = false;\r\n @Input() dialogComponentInputs: any = {\r\n isDialog: true,\r\n };\r\n @Input() bindValueKey: string | null = 'id'; // or null for full object\r\n @Input() addRoute: string;\r\n @Input() canActionsRoute: boolean;\r\n @Input() dialogTitle: string;\r\n @Input() clearable: boolean = true;\r\n @Input() filterParams: any;\r\n @Input() templateType: ChooseObjectTemplateType = ChooseObjectTemplateType.DEFAULT;\r\n @Input() basicTemplateData: ChooseObjectBasicTemplate;\r\n @Input() contentProjectionLabelKey: string;\r\n @Input() fullObjectControlConfig: ChooseItemFullObjectControlConfig =\r\n ChooseItemFullObjectControlConfig.ID;\r\n @Output() change = new EventEmitter();\r\n @Output() blur = new EventEmitter();\r\n @ContentChild('customOption') customOptionTemplate: TemplateRef<any>;\r\n\r\n ChooseObjectTemplateType = ChooseObjectTemplateType;\r\n chipInputTypes = ChipInputType;\r\n\r\n constructor(\r\n private _ChooseGeneralItemService: ChooseGeneralItemService,\r\n private dialog: MatDialog,\r\n private _cdr: ChangeDetectorRef\r\n ) {}\r\n\r\n ngOnInit(): void {\r\n if (this.templateType == ChooseObjectTemplateType.BASIC) {\r\n this.setupBasicTemplate();\r\n }\r\n }\r\n\r\n setupBasicTemplate() {}\r\n\r\n ngOnChanges(changes: SimpleChanges): void {\r\n if (changes['items'] && !changes.items) {\r\n this.items = undefined;\r\n }\r\n if (changes['apiPath'] && !changes.apiPath) {\r\n this.apiPath = undefined;\r\n }\r\n this.validateInputs(changes);\r\n\r\n if (this.showAdd) {\r\n this.validateAddConfiguration();\r\n }\r\n if (!changes['items'] || !changes['items'].currentValue) {\r\n this.isLoading = true;\r\n this.getData();\r\n } else {\r\n this.isLoading = false;\r\n }\r\n }\r\n\r\n validateAddConfiguration() {\r\n if (\r\n (this.addRoute == '' || this.addRoute == null || this.addRoute == undefined) &&\r\n (this.dialogComponentClass == null || this.dialogComponentClass == undefined)\r\n ) {\r\n throw Error(\r\n 'Showing the add button requires either a route for the add button to route to, or a component class for a dialog to open up with that component.'\r\n );\r\n }\r\n }\r\n\r\n writeValue(item: any) {\r\n if (item != undefined || item != null) {\r\n if (!this.useFullObject) {\r\n this.selectedItemId = item;\r\n } else {\r\n if (Array.isArray(item)) {\r\n this.selectedItemId = item.map(item => item.id);\r\n } else {\r\n this.selectedItemId = item.id;\r\n }\r\n }\r\n } else {\r\n this.selectedItemId = null;\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 private onValidationChange: any = () => {};\r\n\r\n updateBlur() {\r\n this.propogateTouch();\r\n this.blur.emit();\r\n }\r\n\r\n onSelectedItemChanged($event) {\r\n let valueToPropagate: any;\r\n if (this.fullObjectControlConfig == ChooseItemFullObjectControlConfig.ID) {\r\n valueToPropagate = this.selectedItemId;\r\n } else if (this.fullObjectControlConfig == ChooseItemFullObjectControlConfig.OBJECT) {\r\n valueToPropagate = $event;\r\n } else {\r\n throw Error('ChooseItemFullObjectControlConfig is not recognized.');\r\n }\r\n this.propagateChange(valueToPropagate);\r\n this.change.emit($event);\r\n this.onValidationChange();\r\n }\r\n\r\n validateInputs(changes: SimpleChanges) {\r\n if (\r\n changes.apiPath &&\r\n changes.apiPath.currentValue &&\r\n changes.items &&\r\n changes.items.currentValue\r\n ) {\r\n throw Error('Both an API path and an items list was provided.');\r\n }\r\n }\r\n\r\n getData() {\r\n if (this.apiPath) {\r\n this._ChooseGeneralItemService.getData(this.apiPath, this.filterParams).subscribe({\r\n next: (response: any[]) => {\r\n this.items = response;\r\n this.isLoading = false;\r\n this._cdr.markForCheck();\r\n console.log(\"response: items from '\", this.apiPath, \"' found: \", this.items);\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 if (this.width) {\r\n style = {\r\n width: this.width + 'rem',\r\n };\r\n } else {\r\n style = {\r\n width: '100%',\r\n };\r\n }\r\n return style;\r\n }\r\n\r\n onClickAddNew() {\r\n console.log('DYNAMIC DIALOG NOT IMPLEMENTED IN LIBRARY YET');\r\n \r\n // Add dynamic dialog later\r\n // let dialogRef = this.dialog.open(DynamicDialogComponent, {\r\n // panelClass: 'custom-dialog-padding',\r\n // width: '90%',\r\n // minWidth: '90%',\r\n // maxHeight: '90vh',\r\n // data: {\r\n // component: this.dialogComponentClass,\r\n // showDefaultButtons: this.showDialogDefaultButtons,\r\n // title: this.dialogTitle,\r\n // inputs: this.dialogComponentInputs,\r\n // },\r\n // });\r\n\r\n // dialogRef.afterClosed().subscribe((data: any) => {\r\n // if (data) {\r\n // console.log('New item Added: ', data);\r\n // this.items.push(data);\r\n // this.items = [...this.items];\r\n // }\r\n // });\r\n }\r\n\r\n setDisabledState(isDisabled: boolean) {\r\n this.disabled = isDisabled;\r\n }\r\n\r\n registerOnValidatorChange?(fn: () => void): void {\r\n this.onValidationChange = fn;\r\n }\r\n\r\n validate(control: AbstractControl): ValidationErrors | null {\r\n return null;\r\n if (control) {\r\n const errors = control.errors;\r\n if (errors) {\r\n console.log('errorssss: ', errors);\r\n return errors;\r\n } else {\r\n return null;\r\n }\r\n }\r\n }\r\n}\r\n","<div class=\"select\">\r\n <ng-select [readonly]=\"readOnly\" [loading]=\"isLoading\" [hideSelected]=\"hideSelectedItem\"\r\n [closeOnSelect]=\"!isMultiple\" [ngStyle]=\"setWidth()\" class=\"component\" [disabled]=\"disabled\"\r\n [appendTo]=\"appendTo\" dropdownPosition=\"bottom\" (blur)=\"updateBlur()\" [bindLabel]=\"label\"\r\n [bindValue]=\"bindValueKey\" [compareWith]=\"\" [items]=\"items\" [placeholder]=\"placeholder\"\r\n (change)=\"onSelectedItemChanged($event)\" [(ngModel)]=\"selectedItemId\" [clearable]=\"clearable\"\r\n [multiple]=\"isMultiple\">\r\n <ng-container *ngIf=\"templateType == ChooseObjectTemplateType.DEFAULT\">\r\n <ng-template *ngIf=\"isLoading\" ng-label-tmp let-item=\"item\" let-clear=\"clear\"> </ng-template>\r\n\r\n <ng-template ng-label-tmp let-item=\"item\" let-index=\"index\" let-search=\"searchTerm\">\r\n <ng-container *ngIf=\"objects; else nonObjectLabelTemplate\">\r\n <span class=\"template\" *ngFor=\"let object of objects; let isLast = last\">\r\n <span class=\"template-item\">\r\n {{ showLabel ? object.label + ': ' : ''\r\n }}{{\r\n isTypeDate ? (item[object.field] | date: 'mediumDate') : item[object.field]\r\n }}</span>\r\n </span>\r\n </ng-container>\r\n <ng-template #nonObjectLabelTemplate>{{ item }} </ng-template>\r\n </ng-template>\r\n\r\n <!-- Option Template -->\r\n <ng-template ng-option-tmp let-item=\"item\" let-index=\"index\" let-search=\"searchTerm\">\r\n <ng-container *ngIf=\"objects; else nonObjectOptionTemplate\">\r\n <span *ngFor=\"let object of objects; let isLast = last\">\r\n {{ showLabel ? object.label + ': ' : ''\r\n }}{{ isTypeDate ? (item[object.field] | date: 'mediumDate') : item[object.field] }}\r\n </span>\r\n </ng-container>\r\n <ng-template #nonObjectOptionTemplate>{{ item }} </ng-template>\r\n </ng-template>\r\n\r\n <ng-template *ngIf=\"isChip && !isLoading\" ng-label-tmp let-item=\"item\" let-clear=\"clear\">\r\n <ng-chip (mousedown)=\"$event.stopPropagation()\" [clear]=\"clear\" [withCross]=\"isMultiple\"\r\n [inputType]=\"chipInputTypes.CUSTOM\"\r\n [backgroundColor]=\"item.disabled == true ? primaryRed : chipColor\" [label]=\"item[objects[0].field]\"\r\n [item]=\"item\">\r\n </ng-chip>\r\n </ng-template>\r\n <ng-template *ngIf=\"isChip && !isLoading\" ng-option-tmp let-clear=\"clear\" let-item=\"item\">\r\n <ng-chip (mousedown)=\"$event.stopPropagation()\" [withCross]=\"false\" [inputType]=\"chipInputTypes.CUSTOM\"\r\n [backgroundColor]=\"item.disabled == true ? primaryRed : chipColor\" [label]=\"item[objects[0].field]\">\r\n </ng-chip>\r\n </ng-template>\r\n </ng-container>\r\n\r\n <ng-container *ngIf=\"templateType == ChooseObjectTemplateType.BASIC\">\r\n <ng-template ng-label-tmp let-item=\"item\" let-clear=\"clear\">\r\n {{ item[basicTemplateData.label] }}\r\n </ng-template>\r\n <ng-template ng-option-tmp let-clear=\"clear\" let-item=\"item\">\r\n <mat-card class=\"basic-template-card\" [ngClass]=\"{\r\n 'with-image': basicTemplateData.hasImage,\r\n 'without-image': !basicTemplateData.hasImage,\r\n }\">\r\n <div class=\"image-cont\" *ngIf=\"basicTemplateData.hasImage\">\r\n <img class=\"main-image\" [src]=\"item[basicTemplateData.image]\"\r\n onerror=\"this.src='../../../assets/images/defaultImage.jpg';\" />\r\n </div>\r\n\r\n <div class=\"info\">\r\n <div class=\"title\">\r\n {{ item[basicTemplateData.title] }}\r\n </div>\r\n <div class=\"subtitle-style\" *ngIf=\"basicTemplateData.hasSubtitleOne\">\r\n <span>{{ item[basicTemplateData.subtitleOne] }}</span>\r\n <ng-container *ngIf=\"basicTemplateData.hasSubtitleTwo\">\r\n <span class=\"col-divider\"> | </span>\r\n <span>{{ item[basicTemplateData.subtitleTwo] }}</span>\r\n </ng-container>\r\n </div>\r\n <div class=\"description\" *ngIf=\"basicTemplateData.hasDescription\">\r\n {{ item[basicTemplateData.description] }}\r\n </div>\r\n </div>\r\n </mat-card>\r\n </ng-template>\r\n </ng-container>\r\n <ng-container *ngIf=\"templateType == ChooseObjectTemplateType.CONTENT_PROJECTION\">\r\n <ng-template *ngIf=\"isLoading\" ng-label-tmp let-item=\"item\" let-clear=\"clear\"> </ng-template>\r\n\r\n <ng-template ng-label-tmp let-item=\"item\" let-index=\"index\" let-search=\"searchTerm\">\r\n <span class=\"template\">\r\n <span class=\"template-item\"> {{ item[contentProjectionLabelKey] }} </span>\r\n </span>\r\n </ng-template>\r\n\r\n <!-- Option Template -->\r\n <ng-template ng-option-tmp let-item=\"item\" let-index=\"index\" let-search=\"searchTerm\">\r\n <ng-container [ngTemplateOutlet]=\"customOptionTemplate\" [ngTemplateOutletContext]=\"{ $implicit: item }\">\r\n </ng-container>\r\n </ng-template>\r\n </ng-container>\r\n </ng-select>\r\n <dropdown-actions *ngIf=\"showAdd\" [canRoute]=\"canActionsRoute\" [route]=\"addRoute\"\r\n (addClicked)=\"onClickAddNew()\"></dropdown-actions>\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-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\" [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}","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","i3.ChooseEnumComponent","i1","i4","i1.ChooseGeneralItemService","i5","i7","i8.DropdownActionsComponent","i1.ChooseGeneralItemComponent","i1.ChooseYesOrNoComponent","i4.DynamicPipe","i3.CustomDecimalPointTwoDigitsDirective","i4.ShowTableErrorsComponent","i5.FormControlValidationMsgDirectiveForInput"],"mappings":"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"}
|