mis-crystal-design-system 14.0.55 → 14.0.56-test
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/dropdown/dropdown.component.d.ts +2 -1
- package/dynamic-form/dynamic-form.component.d.ts +10 -2
- package/esm2020/async-search-dropdown/async-dropdown.component.mjs +1 -1
- package/esm2020/dropdown/dropdown.component.mjs +79 -50
- package/esm2020/dynamic-form/dynamic-form.component.mjs +471 -213
- package/fesm2015/mis-crystal-design-system-async-search-dropdown.mjs.map +1 -1
- package/fesm2015/mis-crystal-design-system-dropdown.mjs +87 -49
- package/fesm2015/mis-crystal-design-system-dropdown.mjs.map +1 -1
- package/fesm2015/mis-crystal-design-system-dynamic-form.mjs +524 -212
- package/fesm2015/mis-crystal-design-system-dynamic-form.mjs.map +1 -1
- package/fesm2020/mis-crystal-design-system-async-search-dropdown.mjs.map +1 -1
- package/fesm2020/mis-crystal-design-system-dropdown.mjs +78 -49
- package/fesm2020/mis-crystal-design-system-dropdown.mjs.map +1 -1
- package/fesm2020/mis-crystal-design-system-dynamic-form.mjs +470 -212
- package/fesm2020/mis-crystal-design-system-dynamic-form.mjs.map +1 -1
- package/package.json +1 -1
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"mis-crystal-design-system-dynamic-form.mjs","sources":["../../../projects/mis-components/dynamic-form/dynamic-form.component.html","../../../projects/mis-components/dynamic-form/dynamic-form.component.ts","../../../projects/mis-components/dynamic-form/dynamic-form.module.ts","../../../projects/mis-components/dynamic-form/mis-crystal-design-system-dynamic-form.ts"],"sourcesContent":["<form [formGroup]=\"dynamicForm\">\n <ng-container formArrayName=\"dynamicFields\">\n <ng-container [formGroupName]=\"i\" *ngFor=\"let fieldControl of getDynamicFieldsControls().controls; let i = index\">\n <ng-container\n [ngTemplateOutlet]=\"dynamicField\"\n [ngTemplateOutletContext]=\"{\n $implicit: formFields[i],\n formGroup: fieldControl,\n control: fieldControl.controls.value\n }\"\n >\n </ng-container>\n <div class=\"sub-dynamic-form\" *ngIf=\"fieldControl.value && (!!formFields[i]?.subFields && formFields[i]?.subFields?.length > 0 && matchParentConfig(formFields[i]?.subFields, fieldControl.controls.value.value.value))\">\n <ng-container *ngFor=\"let subFieldControl of fieldControl.controls.subFields.controls; let j = index\">\n <ng-container\n [ngTemplateOutlet]=\"dynamicField\"\n [ngTemplateOutletContext]=\"{\n $implicit: findSelectedSubFieldConfig(formFields[i]?.subFields, fieldControl.controls.value.value.value,j),\n control: subFieldControl\n }\">\n </ng-container>\n </ng-container>\n </div>\n </ng-container>\n </ng-container>\n</form>\n\n\n<ng-template #dynamicField let-field let-control=\"control\" let-formgroup=\"formGroup\">\n\n <!-- fieldType: 'input' fieldInputType: 'text' | 'number' -->\n <div class=\"dynamic-field multi-line-field-container\"\n [ngStyle]=\"{'border-bottom': (formgroup?.controls?.subFields?.controls?.length && removeSepratorForSubFields) ? 'none':''}\"\n *ngIf=\"field.fieldType === 'input' && (field.fieldInputType === 'text' || field.fieldInputType === 'number')\">\n <p class=\"h7 field-title-sm\">\n {{ field.title }} <span *ngIf=\"field.validators && field.validators.length > 0\"> *</span>\n </p>\n <div style=\"flex-basis: 100%\"></div>\n <input class=\"input-field ip-text\" [type]=\"field.fieldInputType\" [formControl]=\"control\"\n (ngModelChange)=\"updateSubDynamicFields(field, formgroup, $event)\" \n [ngStyle]=\"{'border': control.touched && control.errors ? '1px solid #B00020': ''}\"\n [placeholder]=\"field.placeholderText ? field.placeholderText : 'Input Text'\" \n [min]=\"field.fieldInputType === 'number' ? 0 : '' \"/>\n <ng-container *ngIf=\"control.touched && control.errors\"\n [ngTemplateOutlet]=\"dynamicFieldErrors\" \n [ngTemplateOutletContext]=\"{ $implicit: control.errors }\"\n >\n </ng-container>\n </div>\n\n <!-- fieldType: 'input' fieldInputType: 'textarea' -->\n <div class=\"dynamic-field multi-line-field-container\"\n [ngStyle]=\"{'border-bottom': (formgroup?.controls?.subFields?.controls?.length && removeSepratorForSubFields) ? 'none':''}\"\n *ngIf=\"field.fieldType === 'input' && field.fieldInputType === 'textarea'\">\n <p class=\"h7 field-title-sm\">\n {{ field.title }}<span *ngIf=\"field.validators && field.validators.length > 0\"> *</span>\n </p>\n <div style=\"flex-basis: 100%\"></div>\n <textarea class=\"input-field ip-textarea\" type=\"text\"\n [ngStyle]=\"{'border': control.touched && control.errors ? '1px solid #B00020': ''}\"\n [placeholder]=\"field.placeholderText ? field.placeholderText : 'Input Text'\" [formControl]=\"control\" (ngModelChange)=\"updateSubDynamicFields(field, formgroup, $event)\"></textarea>\n <ng-container *ngIf=\"control.touched && control.errors\" [ngTemplateOutlet]=\"dynamicFieldErrors\"\n [ngTemplateOutletContext]=\"{ $implicit: control.errors }\">\n </ng-container>\n </div>\n\n <!-- fieldType: 'input' fieldInputType: 'date' -->\n <div class=\"dynamic-field single-line-field-container\"\n [ngStyle]=\"{'border-bottom': (formgroup?.controls?.subFields?.controls?.length && removeSepratorForSubFields) ? 'none':''}\"\n *ngIf=\"field.fieldType === 'input' && field.fieldInputType === 'date'\">\n <p class=\"h6\">\n {{ field.title }} <span *ngIf=\"field.validators && field.validators.length > 0\"> *</span>\n </p>\n <div class=\"date-picker-container\">\n <input class=\"date-picker\" readonly misTzDp [dpConfig]=\"field.fieldConfig\"\n (dateChange)=\"control.setValue($event)\" [selectedDate]=\"control.value\" [offsetY]=\"0\"\n [value]=\"control.value\" #dp />\n <img alt=\"data-picker\" *ngIf=\"calendarIconUrl\" class=\"date-picker-icon\" [src]=\"calendarIconUrl\"\n (click)=\"dp.click()\" />\n </div>\n <ng-container *ngIf=\"control.touched && control.errors\" [ngTemplateOutlet]=\"dynamicFieldErrors\"\n [ngTemplateOutletContext]=\"{ $implicit: control.errors }\">\n </ng-container>\n </div>\n\n <!-- fieldType: 'boolean' fieldInputType: 'toggle' -->\n <div class=\"dynamic-field single-line-field-container\"\n [ngStyle]=\"{'border-bottom': (formgroup?.controls?.subFields?.controls?.length && removeSepratorForSubFields) ? 'none':''}\"\n *ngIf=\"field.fieldType === 'boolean' && field.fieldInputType === 'toggle'\">\n <p class=\"h6\">\n {{ field.title }}<span *ngIf=\"field.validators && field.validators.length > 0\"> *</span>\n </p>\n <mis-switch [control]=\"control\" (valueChanged)=\"updateSubDynamicFields(field, formgroup, $event)\"></mis-switch>\n <ng-container *ngIf=\"control.touched && control.errors\" [ngTemplateOutlet]=\"dynamicFieldErrors\"\n [ngTemplateOutletContext]=\"{ $implicit: control.errors }\">\n </ng-container>\n </div>\n\n <!-- fieldType: 'singleSelect' fieldInputType: 'dropdown' -->\n <div class=\"dynamic-field single-line-field-container\"\n [ngStyle]=\"{'border-bottom': (formgroup?.controls?.subFields?.controls?.length && removeSepratorForSubFields) ? 'none':''}\"\n *ngIf=\"field.fieldType === 'singleSelect' && field.fieldInputType === 'dropdown'\">\n <p class=\"h6\">\n {{ field.title }}<span *ngIf=\"field.validators && field.validators.length > 0\"> *</span>\n </p>\n <div [ngClass]=\"{'removeable-container' : field?.isRemoveable}\">\n <mis-dropdown [searchEnabled]=\"false\" [width]=\"'140px'\" [data]=\"field.itemsList\" [selectedItem]=\"control.value\"\n (onChange)=\"updateSelectedValueForSingleSelect(field, control, formgroup, $event);\">\n </mis-dropdown>\n <img *ngIf=\"field.isRemoveable && removeIconUrl\" class=\"remove-icon\" [src]=\"removeIconUrl\" (click)=\"fieldRemoved.emit(field)\">\n </div>\n <ng-container *ngIf=\"control.touched && control.errors\" [ngTemplateOutlet]=\"dynamicFieldErrors\"\n [ngTemplateOutletContext]=\"{ $implicit: control.errors }\">\n </ng-container>\n </div>\n\n <!-- fieldType: 'singleSelect' fieldInputType: 'radio' -->\n <div class=\"dynamic-field multi-line-field-container\"\n [ngStyle]=\"{'border-bottom': (formgroup?.controls?.subFields?.controls?.length && removeSepratorForSubFields) ? 'none':''}\"\n *ngIf=\"field.fieldType === 'singleSelect' && field.fieldInputType === 'radio'\">\n <p class=\"h7 field-title-sm\">\n {{ field.title }}<span *ngIf=\"field.validators && field.validators.length > 0\"> *</span>\n </p>\n <div style=\"flex-basis: 100%\"></div>\n <div id=\"checkboxes-container\">\n <div class=\"radio-checkbox-common\" *ngFor=\"let item of field.itemsList\"\n [ngClass]=\"{ 'checkbox-active': item.label === control.value?.label }\"\n (click)=\"updateSelectedValueForSingleSelect(field, control, formgroup, item);\">\n <img *ngIf=\"(item.label === control.value?.label) && activeBtnIconUrl\" [src]=\"activeBtnIconUrl\" alt=\"\" />\n <p class=\"h6\">{{ item.label }}</p>\n </div>\n </div>\n <ng-container *ngIf=\"control.touched && control.errors\" [ngTemplateOutlet]=\"dynamicFieldErrors\"\n [ngTemplateOutletContext]=\"{ $implicit: control.errors }\">\n </ng-container>\n </div>\n\n <!-- fieldType: 'multiSelect' fieldInputType: 'checkbox' -->\n <div class=\"dynamic-field multi-line-field-container\"\n [ngStyle]=\"{'border-bottom': (formgroup?.controls?.subFields?.controls?.length && removeSepratorForSubFields) ? 'none':''}\"\n *ngIf=\"field.fieldType === 'multiSelect' && field.fieldInputType === 'checkbox'\">\n <p class=\"h7 field-title-sm\">\n {{ field.title }}<span *ngIf=\"field.validators && field.validators.length > 0\"> *</span>\n </p>\n <div style=\"flex-basis: 100%\"></div>\n <div id=\"checkboxes-container\">\n <div class=\"radio-checkbox-common\" *ngFor=\"let item of field.itemsList\"\n [ngClass]=\"{ 'checkbox-active': isCheckBoxSelected(item.label, control.value) }\"\n (click)=\"updateSelectedValueForMultiSelect(field, control, formgroup, [item])\">\n <img *ngIf=\"isCheckBoxSelected(item.label, control.value) && activeBtnIconUrl\" [src]=\"activeBtnIconUrl\"\n alt=\"\" />\n <p class=\"h6\">{{ item.label }}</p>\n </div>\n </div>\n <ng-container *ngIf=\"control.touched && control.errors\" [ngTemplateOutlet]=\"dynamicFieldErrors\"\n [ngTemplateOutletContext]=\"{ $implicit: control.errors }\">\n </ng-container>\n </div>\n\n <!-- fieldType: 'multiSelect' fieldInputType: 'dropdown' -->\n <div class=\"dynamic-field single-line-field-container\"\n [ngStyle]=\"{'border-bottom': (formgroup?.controls?.subFields?.controls?.length && removeSepratorForSubFields) ? 'none':''}\"\n *ngIf=\"field.fieldType === 'multiSelect' && field.fieldInputType === 'dropdown'\">\n <p class=\"h6\">\n {{ field.title }}<span *ngIf=\"field.validators && field.validators.length > 0\"> *</span>\n </p>\n <mis-multi-select-dropdown [width]=\"'140px'\" [showSelectedCount]=\"true\" [dropdownListWidth]=\"'256px'\"\n [searchEnabled]=\"false\" [hideApplyButton]=\"true\" [data]=\"field.itemsList\"\n [selectedItems]=\"control.value\" (onChange)=\"updateSelectedValueForMultiSelect(field, control, formgroup, $event);\"></mis-multi-select-dropdown>\n <ng-container *ngIf=\"control.touched && control.errors\" [ngTemplateOutlet]=\"dynamicFieldErrors\"\n [ngTemplateOutletContext]=\"{ $implicit: control.errors }\">\n </ng-container>\n </div>\n\n</ng-template>\n\n<ng-template #dynamicFieldErrors let-errors>\n <div id=\"error-messages-container\">\n <ng-container *ngFor=\"let error of errors | keyvalue\">\n <p class=\"h8\">\n {{\" • \" + error.value}}\n </p>\n <div style=\"flex-basis: 100%; height: 0\"></div>\n </ng-container>\n </div>\n</ng-template>","import { Component, EventEmitter, HostListener, Input, OnDestroy, OnInit, Output } from \"@angular/core\";\nimport { NsDynamicForm } from \"./dynamic-form.namespace\";\nimport { AbstractControl, UntypedFormArray, UntypedFormControl, UntypedFormGroup, ValidationErrors, ValidatorFn, Validators } from \"@angular/forms\";\n\nimport moment from \"moment-timezone\";\nimport \"moment-timezone\";\nimport { Subscription } from \"rxjs\";\n\n@Component({\n selector: \"mis-dynamic-form\",\n templateUrl: \"./dynamic-form.component.html\",\n styleUrls: [\"./dynamic-form.component.scss\"]\n})\nexport class DynamicFormComponent implements OnInit, OnDestroy {\n /**\n * formFields: Dynamic fields recieved from the API metadata to build a dynamic form\n * formValues: Holds the value of the dynamic form with \"key\" being dynamic field \"title\"\n * and value being the user input.\n */\n @Input() formFields: Array<NsDynamicForm.IDynamicField> = [];\n @Input() formValues: { [key: string]: any } = {};\n // Need to deprecate these inputs and use constants.\n @Input() activeBtnIconUrl = \"\";\n @Input() calendarIconUrl = \"\";\n @Input() removeIconUrl = \"\";\n @Input() removeSepratorForSubFields = false;\n /**\n * dynamicForm: Constructed using formFields and formValues(in case of edit)\n */\n dynamicForm: UntypedFormGroup;\n\n /**\n * formUpdated: Emits formValues Object whenever there is a change in the dynamic form.\n */\n @Output() formUpdated = new EventEmitter<{ [key: string]: any }>();\n /**\n * formValid: Emits boolean depending on validity of the form\n */\n @Output() formValid = new EventEmitter<boolean>();\n /**\n * formInitialized: Emits dynamic form API on form initilization\n */\n @Output() formInitialized = new EventEmitter<any>();\n @Output() fieldRemoved = new EventEmitter<NsDynamicForm.IDynamicField>();\n\n dynamicFormAPI: NsDynamicForm.IDynamicFormAPI;\n valueChangesSubscription$: Subscription;\n\n constructor() {}\n\n ngOnInit(): void {\n // Building the form\n this.dynamicForm = this.generateDynamicForm(this.formFields, this.formValues);\n\n // Subscribing to form changes and emiting values.\n this.valueChangesSubscription$ = this.dynamicForm.valueChanges.subscribe(formValue => {\n this.onFormValueChanges();\n });\n\n //api to expose functions\n this.dynamicFormAPI = {\n defaultFormValues: () => {\n return this.generateDynamicFieldsValueObject(this.dynamicForm.value.dynamicFields);\n }\n };\n this.formInitialized.emit(this.dynamicFormAPI);\n this.formValid.emit(this.dynamicForm.valid);\n }\n ngOnDestroy(): void {\n this.valueChangesSubscription$?.unsubscribe();\n }\n onFormValueChanges(): void {\n let formValues = this.generateDynamicFieldsValueObject(this.dynamicForm.value.dynamicFields);\n this.formValid.emit(this.dynamicForm.valid);\n this.formUpdated.emit(formValues);\n console.log(formValues)\n }\n generateDynamicFieldsValueObject(formValues: Array<any>): { [key: string]: any } {\n let dynamicFieldsValue = {};\n formValues.forEach((fieldValue, index) => {\n let formattedValue = this.mapFormFieldToFormValue(this.formFields[index], fieldValue.value);\n if (fieldValue.subFields?.length > 0) {\n let formattedSubFieldsValues = {}\n let subField = this.formFields[index].subFields\n if(this.formFields[index].fieldType === 'singleSelect' || this.formFields[index].fieldType === 'multiSelect') {\n subField = subField.filter((subField) => subField.parentConfigValue === fieldValue.value.value);\n }\n fieldValue.subFields.forEach((subFieldValue, subIndex) => {\n let subFormField = subField[subIndex]\n formattedSubFieldsValues[subFormField.configName] = this.mapFormFieldToFormValue(subFormField, subFieldValue)\n })\n dynamicFieldsValue[this.formFields[index].configName] = {\n value: formattedValue,\n subFields: formattedSubFieldsValues\n }\n }\n else {\n dynamicFieldsValue[this.formFields[index].configName] = formattedValue;\n }\n });\n return dynamicFieldsValue;\n }\n generateDynamicForm(\n formFields: Array<NsDynamicForm.IDynamicField>,\n formValues: { [key: string]: any }\n ): UntypedFormGroup {\n let formArray = new UntypedFormArray([])\n\n for (let field of formFields) {\n let fieldValue = formValues[field.configName]?.value ? formValues[field.configName].value : formValues[field.configName]\n let fieldControl = this.mapFormValueToFormField(field, fieldValue);\n let subFieldsControls = this.generateSubDynamicFields(formValues, field, fieldControl.value);\n formArray.push(new UntypedFormGroup({\n value: fieldControl,\n subFields: subFieldsControls\n }))\n } \n return new UntypedFormGroup({\n dynamicFields: formArray\n })\n }\n \n getDynamicFieldsControls(): UntypedFormArray {\n return this.dynamicForm.get(\"dynamicFields\") as UntypedFormArray;\n }\n updateSubDynamicFields(\n field: NsDynamicForm.IDynamicField,\n formGroup: UntypedFormGroup,\n value: any\n ): void {\n if (field.subFields?.length > 0) {\n let subFieldsControls = this.generateSubDynamicFields(this.formValues, field, value);\n formGroup.removeControl('subFields')\n formGroup.addControl('subFields', subFieldsControls)\n }\n }\n updateSelectedValueForSingleSelect(\n field: NsDynamicForm.IDynamicField,\n control: UntypedFormControl,\n formGroup: UntypedFormGroup,\n value: any\n ): void {\n if (control.value?.value !== value.value) {\n control.setValue(value);\n }\n else control.setValue('');\n this.updateSubDynamicFields(field, formGroup, value);\n control.markAsTouched();\n }\n updateSelectedValueForMultiSelect(\n field: NsDynamicForm.IDynamicField,\n control: UntypedFormControl,\n formGroup: UntypedFormGroup,\n values: Array<any>\n ): void {\n let selectedValues: Array<{ label: string; value: any }> = control.value;\n for (let value of values) {\n let itemIndex = selectedValues.findIndex(item => item.label === value.label);\n if (itemIndex > -1) {\n selectedValues.splice(itemIndex, 1);\n } else {\n selectedValues.push({ ...value });\n }\n }\n control.setValue(selectedValues);\n this.updateSubDynamicFields(field, formGroup, values);\n control.markAsTouched();\n }\n isCheckBoxSelected(value: string, selectedValues: Array<{ label: string; value: string }>): boolean {\n return selectedValues.findIndex(item => item.label === value) > -1;\n }\n\n findSelectedSubFieldConfig(subfields, value, subFieldIndex) {\n try{\n const selectedSubFieldConfig = subfields.filter(item => item.parentConfigValue === value)[subFieldIndex];\n return selectedSubFieldConfig;\n }\n catch(e){\n throw new Error('Subfield index not found');\n }\n }\n\n matchParentConfig(subfields, value) {\n if (!subfields || subfields.length === 0) {\n return false;\n }\n return subfields.some(item => item.parentConfigValue === value);\n }\n\n generateSubDynamicFields(\n formValues: any,\n parentField: NsDynamicForm.IDynamicField,\n parentValue: Array<{ label: string, value: string | number }> | {label: string, value: string } | string | number | boolean\n ): UntypedFormArray {\n let controls = new UntypedFormArray([])\n let subFields = parentField.subFields\n let subFieldsValues = formValues[parentField.configName]?.subFields ? formValues[parentField.configName].subFields : {}\n if(!subFields) return controls;\n if (parentField.fieldType === 'singleSelect') {\n subFields = subFields.filter((subField) => subField.parentConfigValue === (<{label: string, value: string }>parentValue)?.value);\n }\n else if (parentField.fieldType === 'multiSelect') {\n let parentValues = new Set((<Array<{ label: string, value: string | number }>>parentValue).map((value) => value.value));\n subFields = subFields.filter((subField) => parentValues.has(subField.parentConfigValue));\n }\n\n if (subFields?.length > 0) {\n for (let subField of subFields) {\n controls.push(this.mapFormValueToFormField(subField, subFieldsValues[subField.configName]))\n }\n }\n return controls;\n }\n mapFormValueToFormField(formField: NsDynamicForm.IDynamicField, formValue: any): any {\n let validators = formField.validators ? [dynamicFieldValidator(formField.validators)]: []\n let control = new UntypedFormControl(null, validators);\n\n if (formField.fieldType === \"input\") {\n if (formField.fieldInputType === \"text\" || formField.fieldInputType === \"textarea\") control.setValue(formValue ? formValue : \"\");\n else if (formField.fieldInputType === \"number\") control.setValue(formValue ? formValue : 0);\n else if (formField.fieldInputType === \"date\") {\n if (formValue && typeof formValue === \"number\") {\n control.setValue(moment(formValue).tz(formField.fieldConfig.timezone).format(formField.fieldConfig.format));\n } else {\n control.setValue(moment().tz(formField.fieldConfig.timezone).format(formField.fieldConfig.format));\n }\n }\n } else if (formField.fieldType === \"singleSelect\") {\n const findSelectedValue = () => {\n let index = formField.itemsList.findIndex(item => item.value === formValue)\n return index >= 0 ? formField.itemsList[index]: \"\";\n }\n if (formField.fieldInputType === \"dropdown\") {\n if (!formValue) control.setValue(formField.itemsList[0]);\n else control.setValue(findSelectedValue())\n }\n else if (formField.fieldInputType === \"radio\") {\n control.setValue(findSelectedValue())\n }\n } else if (formField.fieldType === \"multiSelect\") {\n if (formValue && Array.isArray(formValue)) {\n let selectedValues = [];\n for (let value of formValue) {\n let index = formField.itemsList.findIndex(item => item.value === value);\n if (index > -1) selectedValues.push({ ...formField.itemsList[index] });\n }\n control.setValue(selectedValues);\n } else {\n control.setValue([]);\n }\n } else if (formField.fieldType === \"boolean\") {\n control.setValue(!!formValue);\n } else control.setValue(null);\n return control;\n }\n mapFormFieldToFormValue(formField: NsDynamicForm.IDynamicField, formValue: any): any {\n if (formField.fieldType === \"input\") {\n if (formField.fieldInputType === \"text\" || formField.fieldInputType === \"textarea\") return formValue;\n else if (formField.fieldInputType === \"number\") return +formValue;\n else if (formField.fieldInputType === \"date\") {\n return moment.tz(formValue, formField.fieldConfig.format, formField.fieldConfig.timezone).valueOf();\n }\n } else if (formField.fieldType === \"singleSelect\") {\n return formValue?.value ?? '';\n } else if (formField.fieldType === \"multiSelect\") {\n return formValue?.map(item => item.value);\n } else if (formField.fieldType === \"boolean\") {\n return formValue;\n } else return formValue;\n }\n}\n\nexport const dynamicFieldValidator = (validators: Array<NsDynamicForm.IDynamicFieldValidator>): ValidatorFn => {\n return (control: AbstractControl): ValidationErrors | null => {\n let value = control.value\n if (Array.isArray(value)) {\n return null;\n }\n else if (typeof value === 'object') {\n value = value?.value ? value.value : ''\n }\n let errors = null\n\n validators.forEach((validator) => {\n let error = null\n let message = validator.message\n switch (validator.type) {\n case \"Required\":\n error = Validators.required(control)\n if(error) error = {Required: message}\n break;\n case \"MinLength\":\n error = Validators.minLength(+validator.value)(control)\n message = message.replace('${0}', error?.minlength.requiredLength)\n if(error) error = { MinLength: message }\n break;\n case \"MaxLength\":\n error = Validators.maxLength(+validator.value)(control)\n message = message.replace('${0}', error?.actualLength)\n if(error) error = { MaxLength: message }\n break;\n case \"Email\":\n error = Validators.email(control)\n if(error) error = {Email: message}\n break;\n case \"Custom\":\n error = Validators.pattern(`${validator.value}`)(control)\n if(error) error = {Custom: message}\n break;\n default:\n break;\n }\n if (error) errors = { ...errors, ...error }\n })\n return errors\n }\n}","import { CommonModule } from \"@angular/common\";\nimport { FormsModule } from \"@angular/forms\";\nimport { NgModule, ModuleWithProviders } from \"@angular/core\";\nimport { OverlayModule } from \"@angular/cdk/overlay\";\nimport { ScrollingModule } from \"@angular/cdk-experimental/scrolling\";\nimport { DropdownModule } from \"mis-crystal-design-system/dropdown\";\nimport { ReactiveFormsModule } from \"@angular/forms\";\nimport { DynamicFormComponent } from \"./dynamic-form.component\";\nimport { SwitchModule } from \"mis-crystal-design-system/switch\";\nimport { MultiSelectDropdownModule } from \"mis-crystal-design-system/multi-select-dropdown\";\nimport { DatepickerModuleV2 } from \"mis-crystal-design-system/datepicker_v2\";\n\n@NgModule({\n declarations: [DynamicFormComponent],\n imports: [\n CommonModule,\n ReactiveFormsModule,\n FormsModule,\n OverlayModule,\n ScrollingModule,\n DropdownModule,\n SwitchModule,\n MultiSelectDropdownModule,\n DatepickerModuleV2\n ],\n exports: [DynamicFormComponent]\n})\nexport class DynamicFormModule {\n static forRoot(): ModuleWithProviders<DynamicFormModule> {\n return { ngModule: DynamicFormModule, providers: [] };\n }\n}\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './index';\n"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"mis-crystal-design-system-dynamic-form.mjs","sources":["../../../projects/mis-components/dynamic-form/dynamic-form.component.html","../../../projects/mis-components/dynamic-form/dynamic-form.component.ts","../../../projects/mis-components/dynamic-form/dynamic-form.module.ts","../../../projects/mis-components/dynamic-form/mis-crystal-design-system-dynamic-form.ts"],"sourcesContent":["<form [formGroup]=\"dynamicForm\">\n <ng-container formArrayName=\"dynamicFields\">\n <ng-container [formGroupName]=\"i\" *ngFor=\"let fieldControl of getDynamicFieldsControls().controls; let i = index\">\n <ng-container\n [ngTemplateOutlet]=\"dynamicField\"\n [ngTemplateOutletContext]=\"{\n $implicit: formFields[i],\n formGroup: fieldControl,\n control: fieldControl.controls.value\n }\"\n >\n </ng-container>\n <div class=\"sub-dynamic-form\" *ngIf=\"fieldControl.value && (!!formFields[i]?.subFields && formFields[i]?.subFields?.length > 0 && matchParentConfig(formFields[i]?.subFields, fieldControl.controls.value.value.value))\">\n <ng-container *ngFor=\"let subFieldControl of fieldControl.controls.subFields.controls; let j = index\">\n <ng-container\n [ngTemplateOutlet]=\"dynamicField\"\n [ngTemplateOutletContext]=\"{\n $implicit: findSelectedSubFieldConfig(formFields[i]?.subFields, fieldControl.controls.value.value.value,j),\n control: subFieldControl\n }\">\n </ng-container>\n </ng-container>\n </div>\n </ng-container>\n </ng-container>\n</form>\n\n\n<ng-template #dynamicField let-field let-control=\"control\" let-formgroup=\"formGroup\">\n\n <!-- fieldType: 'input' fieldInputType: 'text' | 'number' -->\n <ng-container *ngIf=\"field.fieldType === 'input' && (field.fieldInputType === 'text' || field.fieldInputType === 'number')\">\n <ng-container *ngIf=\"customInputTextNumber; else defaultInputTextNumber\">\n <ng-template\n [ngTemplateOutlet]=\"customInputTextNumber\"\n [ngTemplateOutletContext]=\"{ field: field, control: control, formgroup: formgroup }\"\n ></ng-template>\n </ng-container>\n <ng-template #defaultInputTextNumber>\n <div class=\"dynamic-field multi-line-field-container\"\n [ngStyle]=\"{'border-bottom': (formgroup?.controls?.subFields?.controls?.length && removeSepratorForSubFields) ? 'none':''}\">\n <p class=\"h7 field-title-sm\">\n {{ field?.title }} <span *ngIf=\"field.validators && field.validators.length > 0\"> *</span>\n </p>\n <div style=\"flex-basis: 100%\"></div>\n <input class=\"input-field ip-text\" [type]=\"field.fieldInputType\" [formControl]=\"control\"\n (ngModelChange)=\"updateSubDynamicFields(field, formgroup, $event)\" \n [ngStyle]=\"{'border': control.touched && control.errors ? '1px solid #B00020': ''}\"\n [placeholder]=\"field.placeholderText ? field.placeholderText : 'Input Text'\" \n [min]=\"field.fieldInputType === 'number' ? 0 : '' \"/>\n <ng-container *ngIf=\"control.touched && control.errors\"\n [ngTemplateOutlet]=\"dynamicFieldErrors\" \n [ngTemplateOutletContext]=\"{ $implicit: control.errors }\"\n >\n </ng-container>\n </div>\n </ng-template>\n </ng-container>\n \n <!-- fieldType: 'input' fieldInputType: 'textarea' -->\n <ng-container *ngIf=\"field.fieldType === 'input' && field.fieldInputType === 'textarea'\">\n <ng-container *ngIf=\"customInputTextarea; else defaultInputTextarea\">\n <ng-template\n [ngTemplateOutlet]=\"customInputTextarea\"\n [ngTemplateOutletContext]=\"{ field: field, control: control, formgroup: formgroup }\"\n ></ng-template>\n </ng-container>\n <ng-template #defaultInputTextarea>\n <div class=\"dynamic-field multi-line-field-container\"\n [ngStyle]=\"{'border-bottom': (formgroup?.controls?.subFields?.controls?.length && removeSepratorForSubFields) ? 'none':''}\">\n <p class=\"h7 field-title-sm\">\n {{ field.title }}<span *ngIf=\"field.validators && field.validators.length > 0\"> *</span>\n </p>\n <div style=\"flex-basis: 100%\"></div>\n <textarea class=\"input-field ip-textarea\" type=\"text\"\n [ngStyle]=\"{'border': control.touched && control.errors ? '1px solid #B00020': ''}\"\n [placeholder]=\"field.placeholderText ? field.placeholderText : 'Input Text'\" [formControl]=\"control\" (ngModelChange)=\"updateSubDynamicFields(field, formgroup, $event)\"></textarea>\n <ng-container *ngIf=\"control.touched && control.errors\" [ngTemplateOutlet]=\"dynamicFieldErrors\"\n [ngTemplateOutletContext]=\"{ $implicit: control.errors }\">\n </ng-container>\n </div>\n </ng-template>\n </ng-container>\n \n <!-- fieldType: 'input' fieldInputType: 'date' -->\n <ng-container *ngIf=\"field.fieldType === 'input' && field.fieldInputType === 'date'\">\n <ng-container *ngIf=\"customInputDate; else defaultInputDate\">\n <ng-template\n [ngTemplateOutlet]=\"customInputDate\"\n [ngTemplateOutletContext]=\"{ field: field, control: control, formgroup: formgroup }\"\n ></ng-template>\n </ng-container>\n <ng-template #defaultInputDate>\n <div class=\"dynamic-field single-line-field-container\"\n [ngStyle]=\"{'border-bottom': (formgroup?.controls?.subFields?.controls?.length && removeSepratorForSubFields) ? 'none':''}\"\n *ngIf=\"field.fieldType === 'input' && field.fieldInputType === 'date'\">\n <p class=\"h6\">\n {{ field.title }} <span *ngIf=\"field.validators && field.validators.length > 0\"> *</span>\n </p>\n <div class=\"date-picker-container\">\n <input class=\"date-picker\" readonly misTzDp [dpConfig]=\"field.fieldConfig\"\n (dateChange)=\"control.setValue($event)\" [selectedDate]=\"control.value\" [offsetY]=\"0\"\n [value]=\"control.value\" #dp />\n <img alt=\"data-picker\" *ngIf=\"calendarIconUrl\" class=\"date-picker-icon\" [src]=\"calendarIconUrl\"\n (click)=\"dp.click()\" />\n </div>\n <ng-container *ngIf=\"control.touched && control.errors\" [ngTemplateOutlet]=\"dynamicFieldErrors\"\n [ngTemplateOutletContext]=\"{ $implicit: control.errors }\">\n </ng-container>\n </div>\n </ng-template>\n </ng-container>\n\n <!-- fieldType: 'boolean' fieldInputType: 'toggle' -->\n <ng-container *ngIf=\"field.fieldType === 'boolean' && field.fieldInputType === 'toggle'\">\n <ng-container *ngIf=\"customBooleanToggle; else defaultBooleanToggle\">\n <ng-template\n [ngTemplateOutlet]=\"customBooleanToggle\"\n [ngTemplateOutletContext]=\"{ field: field, control: control, formgroup: formgroup }\"\n ></ng-template>\n </ng-container>\n <ng-template #defaultBooleanToggle>\n <div class=\"dynamic-field single-line-field-container\"\n [ngStyle]=\"{'border-bottom': (formgroup?.controls?.subFields?.controls?.length && removeSepratorForSubFields) ? 'none':''}\">\n <p class=\"h6\">\n {{ field.title }}<span *ngIf=\"field.validators && field.validators.length > 0\"> *</span>\n </p>\n <mis-switch [control]=\"control\" (valueChanged)=\"updateSubDynamicFields(field, formgroup, $event)\"></mis-switch>\n <ng-container *ngIf=\"control.touched && control.errors\" [ngTemplateOutlet]=\"dynamicFieldErrors\"\n [ngTemplateOutletContext]=\"{ $implicit: control.errors }\">\n </ng-container>\n </div> \n </ng-template>\n </ng-container>\n\n <!-- fieldType: 'singleSelect' fieldInputType: 'dropdown' -->\n <ng-container *ngIf=\"field.fieldType === 'singleSelect' && field.fieldInputType === 'dropdown'\">\n <ng-container *ngIf=\"customSingleSelectDropdown; else defaultSingleSelectDropdown\">\n <ng-template\n [ngTemplateOutlet]=\"customSingleSelectDropdown\"\n [ngTemplateOutletContext]=\"{ field: field, control: control, formgroup: formgroup }\"\n ></ng-template>\n </ng-container>\n <ng-template #defaultSingleSelectDropdown>\n <div class=\"dynamic-field single-line-field-container\"\n [ngStyle]=\"{'border-bottom': (formgroup?.controls?.subFields?.controls?.length && removeSepratorForSubFields) ? 'none':''}\">\n <p class=\"h6\">\n {{ field.title }}<span *ngIf=\"field.validators && field.validators.length > 0\"> *</span>\n </p>\n <div [ngClass]=\"{'removeable-container' : field?.isRemoveable}\">\n <mis-dropdown [searchEnabled]=\"false\" [width]=\"'140px'\" [data]=\"field.itemsList\" [selectedItem]=\"control.value\"\n (onChange)=\"updateSelectedValueForSingleSelect(field, control, formgroup, $event);\">\n </mis-dropdown>\n <img *ngIf=\"field.isRemoveable && removeIconUrl\" class=\"remove-icon\" [src]=\"removeIconUrl\" (click)=\"fieldRemoved.emit(field)\">\n </div>\n <ng-container *ngIf=\"control.touched && control.errors\" [ngTemplateOutlet]=\"dynamicFieldErrors\"\n [ngTemplateOutletContext]=\"{ $implicit: control.errors }\">\n </ng-container>\n </div>\n </ng-template>\n </ng-container >\n \n\n <!-- fieldType: 'singleSelect' fieldInputType: 'radio' -->\n <ng-container *ngIf=\"field.fieldType === 'singleSelect' && field.fieldInputType === 'radio'\">\n <ng-container *ngIf=\"customSingleSelectRadio; else defaultSingleSelectRadio\">\n <ng-template\n [ngTemplateOutlet]=\"customSingleSelectRadio\"\n [ngTemplateOutletContext]=\"{ field: field, control: control, formgroup: formgroup }\"\n ></ng-template>\n </ng-container>\n <ng-template #defaultSingleSelectRadio>\n <div class=\"dynamic-field multi-line-field-container\"\n [ngStyle]=\"{'border-bottom': (formgroup?.controls?.subFields?.controls?.length && removeSepratorForSubFields) ? 'none':''}\">\n <p class=\"h7 field-title-sm\">\n {{ field.title }}<span *ngIf=\"field.validators && field.validators.length > 0\"> *</span>\n </p>\n <div style=\"flex-basis: 100%\"></div>\n <div id=\"checkboxes-container\">\n <div class=\"radio-checkbox-common\" *ngFor=\"let item of field.itemsList\"\n [ngClass]=\"{ 'checkbox-active': item.label === control.value?.label }\"\n (click)=\"updateSelectedValueForSingleSelect(field, control, formgroup, item);\">\n <img *ngIf=\"(item.label === control.value?.label) && activeBtnIconUrl\" [src]=\"activeBtnIconUrl\" alt=\"\" />\n <p class=\"h6\">{{ item.label }}</p>\n </div>\n </div>\n <ng-container *ngIf=\"control.touched && control.errors\" [ngTemplateOutlet]=\"dynamicFieldErrors\"\n [ngTemplateOutletContext]=\"{ $implicit: control.errors }\">\n </ng-container>\n </div>\n </ng-template>\n </ng-container>\n \n\n <!-- fieldType: 'multiSelect' fieldInputType: 'checkbox' -->\n <ng-container *ngIf=\"field.fieldType === 'multiSelect' && field.fieldInputType === 'checkbox'\">\n <ng-container *ngIf=\"customMultiSelectCheckbox; else defaultMultiSelectCheckbox\">\n <ng-template\n [ngTemplateOutlet]=\"customMultiSelectCheckbox\"\n [ngTemplateOutletContext]=\"{ field: field, control: control, formgroup: formgroup }\"\n ></ng-template>\n </ng-container>\n <ng-template #defaultMultiSelectCheckbox>\n <div class=\"dynamic-field multi-line-field-container\"\n [ngStyle]=\"{'border-bottom': (formgroup?.controls?.subFields?.controls?.length && removeSepratorForSubFields) ? 'none':''}\">\n <p class=\"h7 field-title-sm\">\n {{ field.title }}<span *ngIf=\"field.validators && field.validators.length > 0\"> *</span>\n </p>\n <div style=\"flex-basis: 100%\"></div>\n <div id=\"checkboxes-container\">\n <div class=\"radio-checkbox-common\" *ngFor=\"let item of field.itemsList\"\n [ngClass]=\"{ 'checkbox-active': isCheckBoxSelected(item.label, control.value) }\"\n (click)=\"updateSelectedValueForMultiSelect(field, control, formgroup, [item])\">\n <img *ngIf=\"isCheckBoxSelected(item.label, control.value) && activeBtnIconUrl\" [src]=\"activeBtnIconUrl\"\n alt=\"\" />\n <p class=\"h6\">{{ item.label }}</p>\n </div>\n </div>\n <ng-container *ngIf=\"control.touched && control.errors\" [ngTemplateOutlet]=\"dynamicFieldErrors\"\n [ngTemplateOutletContext]=\"{ $implicit: control.errors }\">\n </ng-container>\n </div>\n </ng-template>\n </ng-container>\n\n\n <!-- fieldType: 'multiSelect' fieldInputType: 'dropdown' -->\n <ng-container *ngIf=\"field.fieldType === 'multiSelect' && field.fieldInputType === 'dropdown'\">\n <ng-container *ngIf=\"customMultiSelectDropdown; else defaultMultiSelectDropdown\">\n <ng-template\n [ngTemplateOutlet]=\"customMultiSelectDropdown\"\n [ngTemplateOutletContext]=\"{ field: field, control: control, formgroup: formgroup }\"\n ></ng-template>\n </ng-container>\n <ng-template #defaultMultiSelectDropdown>\n <div class=\"dynamic-field single-line-field-container\"\n [ngStyle]=\"{'border-bottom': (formgroup?.controls?.subFields?.controls?.length && removeSepratorForSubFields) ? 'none':''}\">\n <p class=\"h6\">\n {{ field.title }}<span *ngIf=\"field.validators && field.validators.length > 0\"> *</span>\n </p>\n <mis-multi-select-dropdown [width]=\"'140px'\" [showSelectedCount]=\"true\" [dropdownListWidth]=\"'256px'\"\n [searchEnabled]=\"false\" [hideApplyButton]=\"true\" [data]=\"field.itemsList\"\n [selectedItems]=\"control.value\" (onChange)=\"updateSelectedValueForMultiSelect(field, control, formgroup, $event);\"></mis-multi-select-dropdown>\n <ng-container *ngIf=\"control.touched && control.errors\" [ngTemplateOutlet]=\"dynamicFieldErrors\"\n [ngTemplateOutletContext]=\"{ $implicit: control.errors }\">\n </ng-container>\n </div>\n </ng-template>\n </ng-container>\n\n</ng-template>\n\n<ng-template #dynamicFieldErrors let-errors>\n <div id=\"error-messages-container\">\n <ng-container *ngFor=\"let error of errors | keyvalue\">\n <p class=\"h8\">\n {{\" • \" + error.value}}\n </p>\n <div style=\"flex-basis: 100%; height: 0\"></div>\n </ng-container>\n </div>\n</ng-template>","import { Component, ContentChild, EventEmitter, HostListener, Input, OnDestroy, OnInit, Output, TemplateRef } from \"@angular/core\";\nimport { NsDynamicForm } from \"./dynamic-form.namespace\";\nimport { AbstractControl, UntypedFormArray, UntypedFormControl, UntypedFormGroup, ValidationErrors, ValidatorFn, Validators } from \"@angular/forms\";\n\nimport moment from \"moment-timezone\";\nimport \"moment-timezone\";\nimport { Subscription } from \"rxjs\";\n\n@Component({\n selector: \"mis-dynamic-form\",\n templateUrl: \"./dynamic-form.component.html\",\n styleUrls: [\"./dynamic-form.component.scss\"]\n})\nexport class DynamicFormComponent implements OnInit, OnDestroy {\n /**\n * formFields: Dynamic fields recieved from the API metadata to build a dynamic form\n * formValues: Holds the value of the dynamic form with \"key\" being dynamic field \"title\"\n * and value being the user input.\n */\n @Input() formFields: Array<NsDynamicForm.IDynamicField> = [];\n @Input() formValues: { [key: string]: any } = {};\n // Need to deprecate these inputs and use constants.\n @Input() activeBtnIconUrl = \"\";\n @Input() calendarIconUrl = \"\";\n @Input() removeIconUrl = \"\";\n @Input() removeSepratorForSubFields = false;\n /**\n * dynamicForm: Constructed using formFields and formValues(in case of edit)\n */\n dynamicForm: UntypedFormGroup;\n\n /**\n * formUpdated: Emits formValues Object whenever there is a change in the dynamic form.\n */\n @Output() formUpdated = new EventEmitter<{ [key: string]: any }>();\n /**\n * formValid: Emits boolean depending on validity of the form\n */\n @Output() formValid = new EventEmitter<boolean>();\n /**\n * formInitialized: Emits dynamic form API on form initilization\n */\n @Output() formInitialized = new EventEmitter<any>();\n @Output() fieldRemoved = new EventEmitter<NsDynamicForm.IDynamicField>();\n\n @ContentChild(\"customInputTextNumber\", { static: false })\n customInputTextNumber: TemplateRef<Element>;\n \n @ContentChild(\"customInputTextarea\", { static: false })\n customInputTextarea: TemplateRef<Element>;\n\n @ContentChild(\"customInputDate\", { static: false })\n customInputDate: TemplateRef<Element>;\n\n @ContentChild(\"customBooleanToggle\", { static: false })\n customBooleanToggle: TemplateRef<Element>;\n\n @ContentChild(\"customSingleSelectDropdown\", { static: false })\n customSingleSelectDropdown: TemplateRef<Element>;\n\n @ContentChild(\"customSingleSelectRadio\", { static: false })\n customSingleSelectRadio: TemplateRef<Element>;\n\n @ContentChild(\"customMultiSelectCheckbox\", { static: false })\n customMultiSelectCheckbox: TemplateRef<Element>;\n\n @ContentChild(\"customMultiSelectDropdown\", { static: false })\n customMultiSelectDropdown: TemplateRef<Element>;\n\n dynamicFormAPI: NsDynamicForm.IDynamicFormAPI;\n valueChangesSubscription$: Subscription;\n\n constructor() {}\n\n ngOnInit(): void {\n // Building the form\n this.dynamicForm = this.generateDynamicForm(this.formFields, this.formValues);\n\n // Subscribing to form changes and emiting values.\n this.valueChangesSubscription$ = this.dynamicForm.valueChanges.subscribe(formValue => {\n this.onFormValueChanges();\n });\n\n //api to expose functions\n this.dynamicFormAPI = {\n defaultFormValues: () => {\n return this.generateDynamicFieldsValueObject(this.dynamicForm.value.dynamicFields);\n }\n };\n this.formInitialized.emit(this.dynamicFormAPI);\n this.formValid.emit(this.dynamicForm.valid);\n }\n ngOnDestroy(): void {\n this.valueChangesSubscription$?.unsubscribe();\n }\n onFormValueChanges(): void {\n let formValues = this.generateDynamicFieldsValueObject(this.dynamicForm.value.dynamicFields);\n this.formValid.emit(this.dynamicForm.valid);\n this.formUpdated.emit(formValues);\n console.log(formValues)\n }\n generateDynamicFieldsValueObject(formValues: Array<any>): { [key: string]: any } {\n let dynamicFieldsValue = {};\n formValues.forEach((fieldValue, index) => {\n let formattedValue = this.mapFormFieldToFormValue(this.formFields[index], fieldValue.value);\n if (fieldValue.subFields?.length > 0) {\n let formattedSubFieldsValues = {}\n let subField = this.formFields[index].subFields\n if(this.formFields[index].fieldType === 'singleSelect' || this.formFields[index].fieldType === 'multiSelect') {\n subField = subField.filter((subField) => subField.parentConfigValue === fieldValue.value.value);\n }\n fieldValue.subFields.forEach((subFieldValue, subIndex) => {\n let subFormField = subField[subIndex]\n formattedSubFieldsValues[subFormField.configName] = this.mapFormFieldToFormValue(subFormField, subFieldValue)\n })\n dynamicFieldsValue[this.formFields[index].configName] = {\n value: formattedValue,\n subFields: formattedSubFieldsValues\n }\n }\n else {\n dynamicFieldsValue[this.formFields[index].configName] = formattedValue;\n }\n });\n return dynamicFieldsValue;\n }\n generateDynamicForm(\n formFields: Array<NsDynamicForm.IDynamicField>,\n formValues: { [key: string]: any }\n ): UntypedFormGroup {\n let formArray = new UntypedFormArray([])\n\n for (let field of formFields) {\n let fieldValue = formValues[field.configName]?.value ? formValues[field.configName].value : formValues[field.configName]\n let fieldControl = this.mapFormValueToFormField(field, fieldValue);\n let subFieldsControls = this.generateSubDynamicFields(formValues, field, fieldControl.value);\n formArray.push(new UntypedFormGroup({\n value: fieldControl,\n subFields: subFieldsControls\n }))\n } \n return new UntypedFormGroup({\n dynamicFields: formArray\n })\n }\n \n getDynamicFieldsControls(): UntypedFormArray {\n return this.dynamicForm.get(\"dynamicFields\") as UntypedFormArray;\n }\n updateSubDynamicFields(\n field: NsDynamicForm.IDynamicField,\n formGroup: UntypedFormGroup,\n value: any\n ): void {\n if (field.subFields?.length > 0) {\n let subFieldsControls = this.generateSubDynamicFields(this.formValues, field, value);\n formGroup.removeControl('subFields')\n formGroup.addControl('subFields', subFieldsControls)\n }\n }\n updateSelectedValueForSingleSelect(\n field: NsDynamicForm.IDynamicField,\n control: UntypedFormControl,\n formGroup: UntypedFormGroup,\n value: any\n ): void {\n if (control.value?.value !== value.value) {\n control.setValue(value);\n }\n else control.setValue('');\n this.updateSubDynamicFields(field, formGroup, value);\n control.markAsTouched();\n }\n updateSelectedValueForMultiSelect(\n field: NsDynamicForm.IDynamicField,\n control: UntypedFormControl,\n formGroup: UntypedFormGroup,\n values: Array<any>\n ): void {\n let selectedValues: Array<{ label: string; value: any }> = control.value;\n for (let value of values) {\n let itemIndex = selectedValues.findIndex(item => item.label === value.label);\n if (itemIndex > -1) {\n selectedValues.splice(itemIndex, 1);\n } else {\n selectedValues.push({ ...value });\n }\n }\n control.setValue(selectedValues);\n this.updateSubDynamicFields(field, formGroup, values);\n control.markAsTouched();\n }\n isCheckBoxSelected(value: string, selectedValues: Array<{ label: string; value: string }>): boolean {\n return selectedValues.findIndex(item => item.label === value) > -1;\n }\n\n findSelectedSubFieldConfig(subfields, value, subFieldIndex) {\n try{\n const selectedSubFieldConfig = subfields.filter(item => item.parentConfigValue === value)[subFieldIndex];\n return selectedSubFieldConfig;\n }\n catch(e){\n throw new Error('Subfield index not found');\n }\n }\n\n matchParentConfig(subfields, value) {\n if (!subfields || subfields.length === 0) {\n return false;\n }\n return subfields.some(item => item.parentConfigValue === value);\n }\n\n generateSubDynamicFields(\n formValues: any,\n parentField: NsDynamicForm.IDynamicField,\n parentValue: Array<{ label: string, value: string | number }> | {label: string, value: string } | string | number | boolean\n ): UntypedFormArray {\n let controls = new UntypedFormArray([])\n let subFields = parentField.subFields\n let subFieldsValues = formValues[parentField.configName]?.subFields ? formValues[parentField.configName].subFields : {}\n if(!subFields) return controls;\n if (parentField.fieldType === 'singleSelect') {\n subFields = subFields.filter((subField) => subField.parentConfigValue === (<{label: string, value: string }>parentValue)?.value);\n }\n else if (parentField.fieldType === 'multiSelect') {\n let parentValues = new Set((<Array<{ label: string, value: string | number }>>parentValue).map((value) => value.value));\n subFields = subFields.filter((subField) => parentValues.has(subField.parentConfigValue));\n }\n\n if (subFields?.length > 0) {\n for (let subField of subFields) {\n controls.push(this.mapFormValueToFormField(subField, subFieldsValues[subField.configName]))\n }\n }\n return controls;\n }\n mapFormValueToFormField(formField: NsDynamicForm.IDynamicField, formValue: any): any {\n let validators = formField.validators ? [dynamicFieldValidator(formField.validators)]: []\n let control = new UntypedFormControl(null, validators);\n\n if (formField.fieldType === \"input\") {\n if (formField.fieldInputType === \"text\" || formField.fieldInputType === \"textarea\") control.setValue(formValue ? formValue : \"\");\n else if (formField.fieldInputType === \"number\") control.setValue(formValue ? formValue : 0);\n else if (formField.fieldInputType === \"date\") {\n if (formValue && typeof formValue === \"number\") {\n control.setValue(moment(formValue).tz(formField.fieldConfig.timezone).format(formField.fieldConfig.format));\n } else {\n control.setValue(moment().tz(formField.fieldConfig.timezone).format(formField.fieldConfig.format));\n }\n }\n } else if (formField.fieldType === \"singleSelect\") {\n const findSelectedValue = () => {\n let index = formField.itemsList.findIndex(item => item.value === formValue)\n return index >= 0 ? formField.itemsList[index]: \"\";\n }\n if (formField.fieldInputType === \"dropdown\") {\n if (!formValue) control.setValue(formField.itemsList[0]);\n else control.setValue(findSelectedValue())\n }\n else if (formField.fieldInputType === \"radio\") {\n control.setValue(findSelectedValue())\n }\n } else if (formField.fieldType === \"multiSelect\") {\n if (formValue && Array.isArray(formValue)) {\n let selectedValues = [];\n for (let value of formValue) {\n let index = formField.itemsList.findIndex(item => item.value === value);\n if (index > -1) selectedValues.push({ ...formField.itemsList[index] });\n }\n control.setValue(selectedValues);\n } else {\n control.setValue([]);\n }\n } else if (formField.fieldType === \"boolean\") {\n control.setValue(!!formValue);\n } else control.setValue(null);\n return control;\n }\n mapFormFieldToFormValue(formField: NsDynamicForm.IDynamicField, formValue: any): any {\n if (formField.fieldType === \"input\") {\n if (formField.fieldInputType === \"text\" || formField.fieldInputType === \"textarea\") return formValue;\n else if (formField.fieldInputType === \"number\") return +formValue;\n else if (formField.fieldInputType === \"date\") {\n return moment.tz(formValue, formField.fieldConfig.format, formField.fieldConfig.timezone).valueOf();\n }\n } else if (formField.fieldType === \"singleSelect\") {\n return formValue?.value ?? '';\n } else if (formField.fieldType === \"multiSelect\") {\n return formValue?.map(item => item.value);\n } else if (formField.fieldType === \"boolean\") {\n return formValue;\n } else return formValue;\n }\n}\n\nexport const dynamicFieldValidator = (validators: Array<NsDynamicForm.IDynamicFieldValidator>): ValidatorFn => {\n return (control: AbstractControl): ValidationErrors | null => {\n let value = control.value\n if (Array.isArray(value)) {\n return null;\n }\n else if (typeof value === 'object') {\n value = value?.value ? value.value : ''\n }\n let errors = null\n\n validators.forEach((validator) => {\n let error = null\n let message = validator.message\n switch (validator.type) {\n case \"Required\":\n error = Validators.required(control)\n if(error) error = {Required: message}\n break;\n case \"MinLength\":\n error = Validators.minLength(+validator.value)(control)\n message = message.replace('${0}', error?.minlength.requiredLength)\n if(error) error = { MinLength: message }\n break;\n case \"MaxLength\":\n error = Validators.maxLength(+validator.value)(control)\n message = message.replace('${0}', error?.actualLength)\n if(error) error = { MaxLength: message }\n break;\n case \"Email\":\n error = Validators.email(control)\n if(error) error = {Email: message}\n break;\n case \"Custom\":\n error = Validators.pattern(`${validator.value}`)(control)\n if(error) error = {Custom: message}\n break;\n default:\n break;\n }\n if (error) errors = { ...errors, ...error }\n })\n return errors\n }\n}","import { CommonModule } from \"@angular/common\";\nimport { FormsModule } from \"@angular/forms\";\nimport { NgModule, ModuleWithProviders } from \"@angular/core\";\nimport { OverlayModule } from \"@angular/cdk/overlay\";\nimport { ScrollingModule } from \"@angular/cdk-experimental/scrolling\";\nimport { DropdownModule } from \"mis-crystal-design-system/dropdown\";\nimport { ReactiveFormsModule } from \"@angular/forms\";\nimport { DynamicFormComponent } from \"./dynamic-form.component\";\nimport { SwitchModule } from \"mis-crystal-design-system/switch\";\nimport { MultiSelectDropdownModule } from \"mis-crystal-design-system/multi-select-dropdown\";\nimport { DatepickerModuleV2 } from \"mis-crystal-design-system/datepicker_v2\";\n\n@NgModule({\n declarations: [DynamicFormComponent],\n imports: [\n CommonModule,\n ReactiveFormsModule,\n FormsModule,\n OverlayModule,\n ScrollingModule,\n DropdownModule,\n SwitchModule,\n MultiSelectDropdownModule,\n DatepickerModuleV2\n ],\n exports: [DynamicFormComponent]\n})\nexport class DynamicFormModule {\n static forRoot(): ModuleWithProviders<DynamicFormModule> {\n return { ngModule: DynamicFormModule, providers: [] };\n }\n}\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './index';\n"],"names":[],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"mis-crystal-design-system-async-search-dropdown.mjs","sources":["../../../projects/mis-components/async-search-dropdown/async-dropdown.component.html","../../../projects/mis-components/async-search-dropdown/async-dropdown.component.ts","../../../projects/mis-components/async-search-dropdown/async-dropdown.module.ts","../../../projects/mis-components/async-search-dropdown/mis-crystal-design-system-async-search-dropdown.ts"],"sourcesContent":["<div class=\"dd-wrapper\" [ngClass]=\"{ opened: opened, disabled: disabled, readonly: readonly }\" #ddBtn>\n <div class=\"selected-list\" *ngIf=\"multi && selections.size > 0\">\n <div class=\"chip\" [ngClass]=\"{'chip-md': size === 'md', 'chip-sm': size === 'sm'}\" *ngFor=\"let item of selectedItems\">\n <span [ngClass]=\"{'h6': size === 'md', 'h8-b': size === 'sm'}\" style=\"margin-right: 4px;\">{{item[displayKey]}}</span>\n <span style=\"cursor: pointer;\" (click)=\"removeItem(item)\" tabindex=\"0\" (keyup.enter)=\"removeItem(item)\" [ngStyle]=\"{'font-size': size === 'sm' ? '12px': '14px'}\" class=\"icon-ic-navigation-cancel-24\"></span>\n </div>\n </div>\n <div class=\"search-input\">\n <span class=\"icon-ic-action-search-24\"></span>\n <input *ngIf=\"disableCopyPaste; else enableCopyPaste\" [ngClass]=\"{'ip-md': size === 'md', 'ip-sm': size === 'sm'}\" oncopy=\"return false;\" onpaste=\"return false\" oncut=\"return false\" tabindex=\"0\" type=\"text\" class=\"black-text h6\" #input [placeholder]=\"placeholder\" [formControl]=\"searchInput\" (focus)=\"defaultCall()\" (keyup.enter)=\"enablePopUpOnTab()\"/>\n <ng-template #enableCopyPaste>\n <input [ngClass]=\"{'ip-md': size === 'md', 'ip-sm': size === 'sm'}\" tabindex=\"0\" type=\"text\" class=\"black-text h6\" #input [placeholder]=\"placeholder\" [formControl]=\"searchInput\" (focus)=\"defaultCall()\" (keyup.enter)=\"enablePopUpOnTab()\" />\n </ng-template>\n <div class=\"icon-ic-navigation-cancel-24 croos-icon\" *ngIf=\"searchInput?.value?.length\" tabindex=\"0\" (click)=\"removeInputValue()\" (keyup.enter)=\"removeInputValue()\"></div>\n </div>\n</div>\n\n<ng-template #dd>\n <div class=\"dd-list\" [ngStyle]=\"{'max-height':height}\" [ngClass]=\"{'dd-list-pd':data.length === 0}\" tabindex=\"0\" cdkTrapFocus [cdkTrapFocusAutoCapture]=\"openPopUpOnTab\">\n <ng-container *ngIf=\"loading\">\n <ng-container\n *ngIf=\"customLoader; else defaultLoader\"\n [ngTemplateOutlet]=\"customLoader\"\n ></ng-container>\n <ng-template #defaultLoader>\n <div class=\"status-container\" *ngIf=\"loading && !customLoader\">\n <mis-loader [mobileView]=\"true\"></mis-loader>\n </div>\n </ng-template>\n </ng-container>\n <ng-container *ngIf=\"error\">\n <div class=\"status-container\">\n <p>Unknown error has occurred, <br> Please try again later.</p>\n </div>\n </ng-container>\n <div *ngIf=\"!loading && !error && data.length > 0\">\n <ng-container *ngFor=\"let item of data\">\n <div (click)=\"selectData(item, false)\" (keyup.enter)=\"selectData(item, false)\"> \n <div tabindex=\"-1\" cdkFocusInitial></div> \n <div\n [tabindex]=\"openPopUpOnTab ? 0 : -1\"\n *ngIf=\"customItem; else standardItem\"\n >\n <ng-container\n [ngTemplateOutlet]=\"customItem\"\n [ngTemplateOutletContext]=\"{ $implicit: item }\"\n ></ng-container>\n </div>\n <ng-template #standardItem>\n <div tabindex=\"-1\" cdkFocusInitial></div> \n <div class=\"item\" (click)=\"selectData(item, false)\" [tabindex]=\"openPopUpOnTab ? 0 : -1\" (keyup.enter)=\"selectData(item, false)\">\n <div class=\"value\">\n <div class=\"primary\">\n {{ item[displayKey] }}\n </div>\n <div class=\"secondary\">\n {{ item[secondaryDisplayKey] }}\n </div>\n </div>\n </div>\n </ng-template>\n </div>\n </ng-container>\n </div>\n <div *ngIf=\"!loading && !error && data.length === 0 && searchInput.value\">\n <div class=\"data-not-found\">No Data Available</div>\n </div>\n </div>\n</ng-template>\n","import { ConnectionPositionPair, Overlay, OverlayConfig, OverlayRef } from \"@angular/cdk/overlay\";\nimport { TemplatePortal } from \"@angular/cdk/portal\";\nimport {\n AfterViewInit,\n Component,\n ContentChild,\n ElementRef,\n EventEmitter,\n HostListener,\n Input,\n NgZone,\n OnChanges,\n OnDestroy,\n OnInit,\n Output,\n SimpleChanges,\n TemplateRef,\n ViewChild,\n ViewContainerRef\n} from \"@angular/core\";\nimport { AbstractControl, UntypedFormControl } from \"@angular/forms\";\nimport { Observable, Subscription } from \"rxjs\";\nimport { debounceTime, distinctUntilChanged, filter, tap } from \"rxjs/operators\";\n\n// tslint:disable-next-line\ntype IListData = any;\n\n@Component({\n selector: \"mis-async-search-dropdown\",\n templateUrl: \"./async-dropdown.component.html\",\n styleUrls: [\"./async-dropdown.component.scss\"]\n})\nexport class AsyncDropdownComponent implements OnInit, OnChanges, OnDestroy {\n constructor(private overlay: Overlay, private viewContainerRef: ViewContainerRef, private _ngZone: NgZone) { }\n @Input() height;\n @Input() size: 'md' | 'sm' = 'md'\n @Input() httpStream!: (searchKey: string) => Observable<IListData>; // function that returns an httpobservable\n @Input() displayKey!: string; // string to show value in list\n @Input() secondaryDisplayKey!: string; // string to display secondary value\n @Input() placeholder = \"Select\"; // placeholder for input\n @Input() debounceTime = 400; // wait time till which API call is paused\n @Input() minInputLength = 2; // min length after which API call is made\n @Input() multi = false; // maintain a list or emit value\n @Input() uniqueKey: string; // for identifying unique values\n @Input() control: AbstractControl | null; // form control for reactive forms\n @Input() disabled: boolean; // disable actions on component\n @Input() readonly: boolean; // make component readonly\n @Input() disableCopyPaste: boolean = false;\n @ViewChild(\"ddBtn\", { static: false }) origin: ElementRef;\n @ViewChild(\"input\", { static: false }) input: ElementRef;\n @ViewChild(\"dd\", { static: false }) dd: TemplateRef<Element>;\n @ContentChild(\"misCustomItem\", { static: false })\n customItem: TemplateRef<Element>;\n @ContentChild(\"asyncCustomLoader\", { static: false})\n customLoader: TemplateRef<Element>;\n // tslint:disable-next-line\n @Output() onSelect: EventEmitter<IListData | IListData[]> = new EventEmitter(true); // emit selected values\n searchInput: UntypedFormControl = new UntypedFormControl();\n data: IListData[] = [];\n opened = false;\n loading: boolean = false;\n error: boolean = false;\n openPopUpOnTab: boolean = false;\n // tslint:disable-next-line\n @Input() selections: Map<string, any> = new Map();\n private searchSubscription: Subscription;\n private defaultCallSubscription: Subscription;\n private overlayRef: OverlayRef;\n controlSubscription: Subscription | undefined;\n @Input() searchValue;\n @Output() searchQueryChange = new EventEmitter<string>()\n @Output() clear: EventEmitter<boolean> = new EventEmitter(false);\n @Output() itemSelected = new EventEmitter<IListData>()\n @Output() itemRemoved = new EventEmitter<IListData>()\n ngOnInit(): void {\n if (this.multi && !this.uniqueKey) {\n throw new Error(\"[uniqueKey] required in multi mode.\");\n }\n if (this.disabled) {\n this.searchInput.disable();\n }\n this.searchSubscription = this.searchInput.valueChanges\n .pipe(\n // filter(val => val && val.length >= this.minInputLength),\n tap((val) => this.searchQueryChange.emit(val)),\n debounceTime(this.debounceTime),\n distinctUntilChanged()\n )\n .subscribe(res => {\n this._ngZone.run(() => {\n if (res?.length < this.minInputLength || !res?.length) {\n this.closeDropdown();\n return;\n } else if (res?.length > this.minInputLength && this.httpStream) {\n this.loading = true;\n this.error = false;\n if(!this.overlayRef?.hasAttached())\n this.openDropdown(this.dd, this.origin.nativeElement);\n this.httpStream(res).subscribe(list => {\n this.loading = false;\n this.data = list;\n if (!this.overlayRef?.hasAttached() && list.length > 0) {\n this.openDropdown(this.dd, this.origin.nativeElement);\n }\n }, error => {\n this.loading = false;\n this.error = true;\n });\n }\n })\n });\n if (this.control?.value) {\n this.handleControlChanges(this.control.value);\n }\n this.controlSubscription = this.control?.valueChanges.subscribe(this.handleControlChanges);\n }\n\n ngOnChanges(changes: SimpleChanges): void {\n if (changes && changes?.searchValue?.currentValue) {\n this.searchInput.patchValue(changes.searchValue.currentValue);\n }\n if (changes && changes.disabled) {\n this.searchInput.enable();\n if (this.disabled) {\n this.searchInput.disable();\n }\n }\n }\n\n ngOnDestroy(): void {\n this.searchSubscription?.unsubscribe();\n this.defaultCallSubscription?.unsubscribe();\n }\n\n private handleControlChanges = (values: IListData[]) => {\n values.forEach(el => {\n this.selectData(el, true);\n });\n // tslint:disable-next-line\n };\n\n private openDropdown(template: TemplateRef<Element>, origin: HTMLElement): void {\n const positionStrategy = this.overlay\n .position()\n .flexibleConnectedTo(origin)\n .withPositions([\n new ConnectionPositionPair({ originX: \"start\", originY: \"bottom\" }, { overlayX: \"start\", overlayY: \"top\" }),\n new ConnectionPositionPair({ originX: \"start\", originY: \"top\" }, { overlayX: \"start\", overlayY: \"bottom\" })\n ])\n .withPush(true);\n\n const configs = new OverlayConfig({\n hasBackdrop: true,\n backdropClass: \"cdk-overlay-transparent-backdrop\",\n scrollStrategy: this.overlay.scrollStrategies.reposition(),\n positionStrategy,\n width: origin.clientWidth\n });\n this.overlayRef = this.overlay.create(configs);\n this.overlayRef.attach(new TemplatePortal(template, this.viewContainerRef));\n this.overlayRef.backdropClick().subscribe(res => {\n this.closeDropdown();\n });\n }\n\n /**\n * closes the dropdown\n */\n closeDropdown(): void {\n this.opened = false;\n this.openPopUpOnTab = false;\n this.overlayRef?.detach();\n this.data = [];\n }\n\n enablePopUpOnTab(){\n this.openPopUpOnTab = true;\n }\n\n @HostListener('document:keydown', ['$event'])\n handleKeyDown(event: KeyboardEvent): void {\n if (event.key === 'Escape') {\n this.searchInput.patchValue(\"\");\n this.closeDropdown();\n }\n }\n\n\n\n /**\n *\n * @param item item to select\n * if item property disabled is set to true, selection will be disabled\n * @param effectedFromOutside set to true if calling from parent component, if true will focus on search input\n */\n selectData(item: IListData, effectedFromOutside = true): void {\n if (item.disabled) {\n return;\n }\n this.itemSelected.emit(item)\n if (!this.multi) {\n this.searchInput.patchValue(item[this.displayKey], { emitEvent: false });\n this.setControlValue(item);\n } else {\n if (!this.selections.has(item[this.uniqueKey])) {\n this.selections.set(item[this.uniqueKey], item);\n }\n this.setControlValue(this.selectedItems);\n if (!effectedFromOutside) {\n setTimeout(() => {\n this.input.nativeElement.focus();\n this.input.nativeElement.scrollIntoView();\n }, 10);\n }\n this.searchInput.patchValue(\"\");\n this.data = [];\n }\n this.closeDropdown();\n }\n\n /**\n *\n * @param item remove item from selected list\n */\n removeItem(item: IListData): void {\n this.itemRemoved.emit(item)\n this.selections.delete(item[this.uniqueKey]);\n this.setControlValue(this.selectedItems);\n // tslint:disable-next-line\n this.input[\"nativeElement\"].focus();\n }\n\n private setControlValue(value: IListData): void {\n this.onSelect.emit(value);\n this.control?.patchValue(value, { emitEvent: false });\n }\n\n /**\n * @returns list of selected items\n */\n get selectedItems(): Array<IListData> {\n return Array.from(this.selections.values());\n }\n\n removeInputValue() {\n this.searchInput.reset();\n this.data = [];\n this.clear.emit(true);\n }\n defaultCall(): void {\n if (this.minInputLength === -1) {\n this.loading = true;\n this.defaultCallSubscription = this.httpStream(this.searchInput.value || '').subscribe(list => {\n this.loading = false;\n this.data = list;\n if (!this.overlayRef?.hasAttached() && this.data?.length > 0) {\n this.openDropdown(this.dd, this.origin.nativeElement);\n }\n }, error => {\n this.loading = false;\n this.error = true;\n });\n }\n }\n}\n","import { OverlayModule } from \"@angular/cdk/overlay\";\nimport { CommonModule } from \"@angular/common\";\nimport { NgModule } from \"@angular/core\";\nimport { FormsModule, ReactiveFormsModule } from \"@angular/forms\";\nimport { LoaderModule } from \"mis-crystal-design-system/loader\";\nimport { AsyncDropdownComponent } from \"./async-dropdown.component\";\nimport { A11yModule } from \"@angular/cdk/a11y\";\n\n@NgModule({\n declarations: [AsyncDropdownComponent],\n imports: [CommonModule, OverlayModule, ReactiveFormsModule, FormsModule, LoaderModule, A11yModule],\n exports: [AsyncDropdownComponent]\n})\nexport class AsyncDropdownModule {}\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './index';\n"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"mis-crystal-design-system-async-search-dropdown.mjs","sources":["../../../projects/mis-components/async-search-dropdown/async-dropdown.component.html","../../../projects/mis-components/async-search-dropdown/async-dropdown.component.ts","../../../projects/mis-components/async-search-dropdown/async-dropdown.module.ts","../../../projects/mis-components/async-search-dropdown/mis-crystal-design-system-async-search-dropdown.ts"],"sourcesContent":["<div class=\"dd-wrapper\" [ngClass]=\"{ opened: opened, disabled: disabled, readonly: readonly }\" #ddBtn>\n <div class=\"selected-list\" *ngIf=\"multi && selections.size > 0\">\n <div class=\"chip\" [ngClass]=\"{'chip-md': size === 'md', 'chip-sm': size === 'sm'}\" *ngFor=\"let item of selectedItems\">\n <span [ngClass]=\"{'h6': size === 'md', 'h8-b': size === 'sm'}\" style=\"margin-right: 4px;\">{{item[displayKey]}}</span>\n <span style=\"cursor: pointer;\" (click)=\"removeItem(item)\" tabindex=\"0\" (keyup.enter)=\"removeItem(item)\" [ngStyle]=\"{'font-size': size === 'sm' ? '12px': '14px'}\" class=\"icon-ic-navigation-cancel-24\"></span>\n </div>\n </div>\n <div class=\"search-input\">\n <span class=\"icon-ic-action-search-24\"></span>\n <input *ngIf=\"disableCopyPaste; else enableCopyPaste\" [ngClass]=\"{'ip-md': size === 'md', 'ip-sm': size === 'sm'}\" oncopy=\"return false;\" onpaste=\"return false\" oncut=\"return false\" tabindex=\"0\" type=\"text\" class=\"black-text h6\" #input [placeholder]=\"placeholder\" [formControl]=\"searchInput\" (focus)=\"defaultCall()\" (keyup.enter)=\"enablePopUpOnTab()\"/>\n <ng-template #enableCopyPaste>\n <input [ngClass]=\"{'ip-md': size === 'md', 'ip-sm': size === 'sm'}\" tabindex=\"0\" type=\"text\" class=\"black-text h6\" #input [placeholder]=\"placeholder\" [formControl]=\"searchInput\" (focus)=\"defaultCall()\" (keyup.enter)=\"enablePopUpOnTab()\" />\n </ng-template>\n <div class=\"icon-ic-navigation-cancel-24 croos-icon\" *ngIf=\"searchInput?.value?.length\" tabindex=\"0\" (click)=\"removeInputValue()\" (keyup.enter)=\"removeInputValue()\"></div>\n </div>\n</div>\n\n<ng-template #dd>\n <div class=\"dd-list\" [ngStyle]=\"{'max-height':height}\" [ngClass]=\"{'dd-list-pd':data.length === 0}\" tabindex=\"0\" cdkTrapFocus [cdkTrapFocusAutoCapture]=\"openPopUpOnTab\">\n <ng-container *ngIf=\"loading\">\n <ng-container\n *ngIf=\"customLoader; else defaultLoader\"\n [ngTemplateOutlet]=\"customLoader\"\n ></ng-container>\n <ng-template #defaultLoader>\n <div class=\"status-container\" *ngIf=\"loading && !customLoader\">\n <mis-loader [mobileView]=\"true\"></mis-loader>\n </div>\n </ng-template>\n </ng-container>\n <ng-container *ngIf=\"error\">\n <div class=\"status-container\">\n <p>Unknown error has occurred, <br> Please try again later.</p>\n </div>\n </ng-container>\n <div *ngIf=\"!loading && !error && data.length > 0\">\n <ng-container *ngFor=\"let item of data\">\n <div (click)=\"selectData(item, false)\" (keyup.enter)=\"selectData(item, false)\"> \n <div tabindex=\"-1\" cdkFocusInitial></div> \n <div\n [tabindex]=\"openPopUpOnTab ? 0 : -1\"\n *ngIf=\"customItem; else standardItem\"\n >\n <ng-container\n [ngTemplateOutlet]=\"customItem\"\n [ngTemplateOutletContext]=\"{ $implicit: item }\"\n ></ng-container>\n </div>\n <ng-template #standardItem>\n <div tabindex=\"-1\" cdkFocusInitial></div> \n <div class=\"item\" (click)=\"selectData(item, false)\" [tabindex]=\"openPopUpOnTab ? 0 : -1\" (keyup.enter)=\"selectData(item, false)\">\n <div class=\"value\">\n <div class=\"primary\">\n {{ item[displayKey] }}\n </div>\n <div class=\"secondary\">\n {{ item[secondaryDisplayKey] }}\n </div>\n </div>\n </div>\n </ng-template>\n </div>\n </ng-container>\n </div>\n <div *ngIf=\"!loading && !error && data.length === 0 && searchInput.value\">\n <div class=\"data-not-found\">No Data Available</div>\n </div>\n </div>\n</ng-template>\n","import { ConnectionPositionPair, Overlay, OverlayConfig, OverlayRef } from \"@angular/cdk/overlay\";\nimport { TemplatePortal } from \"@angular/cdk/portal\";\nimport {\n Component,\n ContentChild,\n ElementRef,\n EventEmitter,\n HostListener,\n Input,\n NgZone,\n OnChanges,\n OnDestroy,\n OnInit,\n Output,\n SimpleChanges,\n TemplateRef,\n ViewChild,\n ViewContainerRef\n} from \"@angular/core\";\nimport { AbstractControl, UntypedFormControl } from \"@angular/forms\";\nimport { Observable, Subscription } from \"rxjs\";\nimport { debounceTime, distinctUntilChanged, tap } from \"rxjs/operators\";\n\n// tslint:disable-next-line\ntype IListData = any;\n\n@Component({\n selector: \"mis-async-search-dropdown\",\n templateUrl: \"./async-dropdown.component.html\",\n styleUrls: [\"./async-dropdown.component.scss\"]\n})\nexport class AsyncDropdownComponent implements OnInit, OnChanges, OnDestroy {\n constructor(private overlay: Overlay, private viewContainerRef: ViewContainerRef, private _ngZone: NgZone) { }\n @Input() height;\n @Input() size: 'md' | 'sm' = 'md'\n @Input() httpStream!: (searchKey: string) => Observable<IListData>; // function that returns an httpobservable\n @Input() displayKey!: string; // string to show value in list\n @Input() secondaryDisplayKey!: string; // string to display secondary value\n @Input() placeholder = \"Select\"; // placeholder for input\n @Input() debounceTime = 400; // wait time till which API call is paused\n @Input() minInputLength = 2; // min length after which API call is made\n @Input() multi = false; // maintain a list or emit value\n @Input() uniqueKey: string; // for identifying unique values\n @Input() control: AbstractControl | null; // form control for reactive forms\n @Input() disabled: boolean; // disable actions on component\n @Input() readonly: boolean; // make component readonly\n @Input() disableCopyPaste: boolean = false;\n @ViewChild(\"ddBtn\", { static: false }) origin: ElementRef;\n @ViewChild(\"input\", { static: false }) input: ElementRef;\n @ViewChild(\"dd\", { static: false }) dd: TemplateRef<Element>;\n @ContentChild(\"misCustomItem\", { static: false })\n customItem: TemplateRef<Element>;\n @ContentChild(\"asyncCustomLoader\", { static: false})\n customLoader: TemplateRef<Element>;\n // tslint:disable-next-line\n @Output() onSelect: EventEmitter<IListData | IListData[]> = new EventEmitter(true); // emit selected values\n searchInput: UntypedFormControl = new UntypedFormControl();\n data: IListData[] = [];\n opened = false;\n loading: boolean = false;\n error: boolean = false;\n openPopUpOnTab: boolean = false;\n // tslint:disable-next-line\n @Input() selections: Map<string, any> = new Map();\n private searchSubscription: Subscription;\n private defaultCallSubscription: Subscription;\n private overlayRef: OverlayRef;\n controlSubscription: Subscription | undefined;\n @Input() searchValue;\n @Output() searchQueryChange = new EventEmitter<string>()\n @Output() clear: EventEmitter<boolean> = new EventEmitter(false);\n @Output() itemSelected = new EventEmitter<IListData>()\n @Output() itemRemoved = new EventEmitter<IListData>()\n ngOnInit(): void {\n if (this.multi && !this.uniqueKey) {\n throw new Error(\"[uniqueKey] required in multi mode.\");\n }\n if (this.disabled) {\n this.searchInput.disable();\n }\n this.searchSubscription = this.searchInput.valueChanges\n .pipe(\n // filter(val => val && val.length >= this.minInputLength),\n tap((val) => this.searchQueryChange.emit(val)),\n debounceTime(this.debounceTime),\n distinctUntilChanged()\n )\n .subscribe(res => {\n this._ngZone.run(() => {\n if (res?.length < this.minInputLength || !res?.length) {\n this.closeDropdown();\n return;\n } else if (res?.length > this.minInputLength && this.httpStream) {\n this.loading = true;\n this.error = false;\n if(!this.overlayRef?.hasAttached())\n this.openDropdown(this.dd, this.origin.nativeElement);\n this.httpStream(res).subscribe(list => {\n this.loading = false;\n this.data = list;\n if (!this.overlayRef?.hasAttached() && list.length > 0) {\n this.openDropdown(this.dd, this.origin.nativeElement);\n }\n }, error => {\n this.loading = false;\n this.error = true;\n });\n }\n })\n });\n if (this.control?.value) {\n this.handleControlChanges(this.control.value);\n }\n this.controlSubscription = this.control?.valueChanges.subscribe(this.handleControlChanges);\n }\n\n ngOnChanges(changes: SimpleChanges): void {\n if (changes && changes?.searchValue?.currentValue) {\n this.searchInput.patchValue(changes.searchValue.currentValue);\n }\n if (changes && changes.disabled) {\n this.searchInput.enable();\n if (this.disabled) {\n this.searchInput.disable();\n }\n }\n }\n\n ngOnDestroy(): void {\n this.searchSubscription?.unsubscribe();\n this.defaultCallSubscription?.unsubscribe();\n }\n\n private handleControlChanges = (values: IListData[]) => {\n values.forEach(el => {\n this.selectData(el, true);\n });\n // tslint:disable-next-line\n };\n\n private openDropdown(template: TemplateRef<Element>, origin: HTMLElement): void {\n const positionStrategy = this.overlay\n .position()\n .flexibleConnectedTo(origin)\n .withPositions([\n new ConnectionPositionPair({ originX: \"start\", originY: \"bottom\" }, { overlayX: \"start\", overlayY: \"top\" }),\n new ConnectionPositionPair({ originX: \"start\", originY: \"top\" }, { overlayX: \"start\", overlayY: \"bottom\" })\n ])\n .withPush(true);\n\n const configs = new OverlayConfig({\n hasBackdrop: true,\n backdropClass: \"cdk-overlay-transparent-backdrop\",\n scrollStrategy: this.overlay.scrollStrategies.reposition(),\n positionStrategy,\n width: origin.clientWidth\n });\n this.overlayRef = this.overlay.create(configs);\n this.overlayRef.attach(new TemplatePortal(template, this.viewContainerRef));\n this.overlayRef.backdropClick().subscribe(res => {\n this.closeDropdown();\n });\n }\n\n /**\n * closes the dropdown\n */\n closeDropdown(): void {\n this.opened = false;\n this.openPopUpOnTab = false;\n this.overlayRef?.detach();\n this.data = [];\n }\n\n enablePopUpOnTab(){\n this.openPopUpOnTab = true;\n }\n\n @HostListener('document:keydown', ['$event'])\n handleKeyDown(event: KeyboardEvent): void {\n if (event.key === 'Escape') {\n this.searchInput.patchValue(\"\");\n this.closeDropdown();\n }\n }\n\n\n\n /**\n *\n * @param item item to select\n * if item property disabled is set to true, selection will be disabled\n * @param effectedFromOutside set to true if calling from parent component, if true will focus on search input\n */\n selectData(item: IListData, effectedFromOutside = true): void {\n if (item.disabled) {\n return;\n }\n this.itemSelected.emit(item)\n if (!this.multi) {\n this.searchInput.patchValue(item[this.displayKey], { emitEvent: false });\n this.setControlValue(item);\n } else {\n if (!this.selections.has(item[this.uniqueKey])) {\n this.selections.set(item[this.uniqueKey], item);\n }\n this.setControlValue(this.selectedItems);\n if (!effectedFromOutside) {\n setTimeout(() => {\n this.input.nativeElement.focus();\n this.input.nativeElement.scrollIntoView();\n }, 10);\n }\n this.searchInput.patchValue(\"\");\n this.data = [];\n }\n this.closeDropdown();\n }\n\n /**\n *\n * @param item remove item from selected list\n */\n removeItem(item: IListData): void {\n this.itemRemoved.emit(item)\n this.selections.delete(item[this.uniqueKey]);\n this.setControlValue(this.selectedItems);\n // tslint:disable-next-line\n this.input[\"nativeElement\"].focus();\n }\n\n private setControlValue(value: IListData): void {\n this.onSelect.emit(value);\n this.control?.patchValue(value, { emitEvent: false });\n }\n\n /**\n * @returns list of selected items\n */\n get selectedItems(): Array<IListData> {\n return Array.from(this.selections.values());\n }\n\n removeInputValue() {\n this.searchInput.reset();\n this.data = [];\n this.clear.emit(true);\n }\n defaultCall(): void {\n if (this.minInputLength === -1) {\n this.loading = true;\n this.defaultCallSubscription = this.httpStream(this.searchInput.value || '').subscribe(list => {\n this.loading = false;\n this.data = list;\n if (!this.overlayRef?.hasAttached() && this.data?.length > 0) {\n this.openDropdown(this.dd, this.origin.nativeElement);\n }\n }, error => {\n this.loading = false;\n this.error = true;\n });\n }\n }\n}\n","import { OverlayModule } from \"@angular/cdk/overlay\";\nimport { CommonModule } from \"@angular/common\";\nimport { NgModule } from \"@angular/core\";\nimport { FormsModule, ReactiveFormsModule } from \"@angular/forms\";\nimport { LoaderModule } from \"mis-crystal-design-system/loader\";\nimport { AsyncDropdownComponent } from \"./async-dropdown.component\";\nimport { A11yModule } from \"@angular/cdk/a11y\";\n\n@NgModule({\n declarations: [AsyncDropdownComponent],\n imports: [CommonModule, OverlayModule, ReactiveFormsModule, FormsModule, LoaderModule, A11yModule],\n exports: [AsyncDropdownComponent]\n})\nexport class AsyncDropdownModule {}\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './index';\n"],"names":[],"mappings":"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"}
|