mis-crystal-design-system 14.0.81 → 14.0.83
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/dynamic-form/dynamic-form.namespace.d.ts +3 -0
- package/dynamic-form/public_api.d.ts +1 -0
- package/esm2020/dynamic-form/dynamic-form.component.mjs +2 -1
- package/esm2020/dynamic-form/dynamic-form.namespace.mjs +1 -1
- package/esm2020/dynamic-form/public_api.mjs +2 -1
- package/esm2020/filter/filter-panel/filter-panel.component.mjs +19 -19
- package/esm2020/table/table.component.mjs +2 -2
- package/fesm2015/mis-crystal-design-system-dynamic-form.mjs +1 -0
- package/fesm2015/mis-crystal-design-system-dynamic-form.mjs.map +1 -1
- package/fesm2015/mis-crystal-design-system-filter.mjs +18 -19
- package/fesm2015/mis-crystal-design-system-filter.mjs.map +1 -1
- package/fesm2015/mis-crystal-design-system-table.mjs +2 -2
- package/fesm2015/mis-crystal-design-system-table.mjs.map +1 -1
- package/fesm2020/mis-crystal-design-system-dynamic-form.mjs +1 -0
- package/fesm2020/mis-crystal-design-system-dynamic-form.mjs.map +1 -1
- package/fesm2020/mis-crystal-design-system-filter.mjs +18 -18
- package/fesm2020/mis-crystal-design-system-filter.mjs.map +1 -1
- package/fesm2020/mis-crystal-design-system-table.mjs +2 -2
- package/fesm2020/mis-crystal-design-system-table.mjs.map +1 -1
- package/filter/filter-panel/filter-panel.component.d.ts +4 -3
- package/package.json +1 -1
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"mis-crystal-design-system-filter.mjs","sources":["../../../projects/mis-components/filter/animations/slideFromRight.ts","../../../projects/mis-components/filter/has-value.pipe.ts","../../../projects/mis-components/filter/filter-panel/filter-panel.component.html","../../../projects/mis-components/filter/filter-panel/filter-panel.component.ts","../../../projects/mis-components/filter/filters.module.ts","../../../projects/mis-components/filter/mis-crystal-design-system-filter.ts"],"sourcesContent":["import { trigger, style, animate, transition } from '@angular/animations';\n\nexport const slideFromRight = trigger('slideFromRight', [\n transition(':enter', [\n style({ transform: 'translateX(100%)' }),\n animate('200ms cubic-bezier(0.4, 0.0, 0.2, 1)', style({ transform: 'translateX(0)' }))\n ]),\n\n transition(':leave', [\n style({ transform: 'translateX(0)' }),\n animate('200ms cubic-bezier(0.4, 0.0, 0.2, 1)', style({ transform: 'translateX(100%)' }))\n ])\n]);\n","import { Pipe, PipeTransform } from '@angular/core';\n\n/**\n * HasValuePipe\n * This pipe is use to check given value should not null or undefined \n * Its also check object, Its hould not be empty\n */\n@Pipe({\n name: 'hasValue',\n})\nexport class HasValuePipe implements PipeTransform {\n transform(value: any): any {\n if (Array.isArray(value) && value.length === 0) {\n return false;\n }\n /* This was evaluating dateObject as false*/\n if (value instanceof Date) {\n return true;\n }\n if (typeof value === 'object' && value !== null) {\n return Object.keys(value).length >= 1;\n }\n return value !== null && value !== undefined && value !== '';\n }\n}\n","<div class=\"filter-panel-container\" *ngIf=\"show\" @slideFromRight> \n <div class=\"panel-header\">\n <span>Filters</span>\n <svg class=\"close-icon\" (click)=\"closePanel()\" width=\"25\" height=\"25\" viewBox=\"0 0 25 25\" fill=\"none\" xmlns=\"http://www.w3.org/2000/svg\">\n <g id=\"ic-navigation-cancel-24\">\n <path id=\"Union\" fill-rule=\"evenodd\" clip-rule=\"evenodd\" d=\"M8.60468 6.64355C8.09036 6.12923 7.25649 6.12923 6.74218 6.64355C6.22787 7.15786 6.22787 7.99173 6.74218 8.50604L10.4938 12.2576L6.7431 16.0083C6.22879 16.5226 6.22879 17.3564 6.7431 17.8708C7.25742 18.3851 8.09129 18.3851 8.6056 17.8708L12.3562 14.1201L16.1068 17.8707C16.6211 18.385 17.455 18.385 17.9693 17.8707C18.4836 17.3564 18.4836 16.5225 17.9693 16.0082L14.2187 12.2576L17.9702 8.50613C18.4845 7.99181 18.4845 7.15794 17.9702 6.64363C17.4559 6.12932 16.622 6.12932 16.1077 6.64363L12.3562 10.3951L8.60468 6.64355Z\" fill=\"#181F33\"/>\n </g>\n </svg> \n </div>\n \n <div class=\"horizontal-divider first\"></div>\n \n <div class=\"filters\" [formGroup]=\"filterForm\">\n <ng-container *ngFor=\"let filter of config; let last = last\">\n <div class=\"filter\" *ngIf=\"!filter.hidden\">\n <span class=\"filter-title\">{{filter.title}}</span>\n\n <ng-container *ngIf=\"filter.type === 'multiSelect'\">\n <div class=\"multiselect-filter\">\n <mis-multi-select-dropdown class=\"no-padding\" [label]=\"filter.placeholder || 'Select'\" [selectedItems]=\"filterForm.get(filter.key).value\" (onChange)=\"handleSelect($event, filter.key, filter)\" [data]=\"filter.options\" [searchEnabled]=\"true\"\n [showSelectedCount]=\"true\" [enableSelectAll]=\"true\"\n [hideApplyButton]=\"false\" width=\"100%\" height=\"44px\"></mis-multi-select-dropdown>\n </div>\n </ng-container>\n\n <ng-container *ngIf=\"filter.type === 'select'\">\n <div class=\"multiselect-filter\">\n <mis-dropdown [data]=\"filter.options\" [searchEnabled]=\"true\" width=\"100%\" height=\"44px\"\n (onChange)=\"handleSelect($event, filter.key, filter)\" [selectedItem]=\"filterForm.get(filter.key).value\">\n </mis-dropdown>\n </div>\n </ng-container>\n \n <ng-container *ngIf=\"filter.type === 'checkbox'\">\n <div class=\"checkbox-row\">\n <div *ngFor=\"let option of filter.options\" class=\"checkbox-container\">\n <mis-checkbox [type]=\"'Default'\" [checked]=\"filterForm.get(filter.key).value?.includes(option.value)\" (valueChange)=\"handleCheckbox($event, filter.key, option.value, filter)\"></mis-checkbox>\n <span class=\"checkbox-label\">{{option.label}}</span>\n </div>\n </div>\n </ng-container>\n\n <ng-container *ngIf=\"filter.type === 'datePicker'\">\n {{filter.placeholder}}\n <mis-input type=\"rounded\">\n <input misTzDp misInput type=\"text\" readonly class=\"mis-input\" [dpConfig]=\"filter.datepickerConfig\" [placeholder]=\"filterForm.get(filter.key).value ? filterForm.get(filter.key).value : (filter.placeholder || 'Select')\" [value]=\"filterForm.get(filter.key).value ? filterForm.get(filter.key).value : (filter.placeholder || 'Select')\" (dateChange)=\"onDateChange($event, filter.key, filter)\" [selectedDate]=\"filterForm.get(filter.key).value\" [positionX]=\"'end'\" [offsetX]=\"-10\">\n </mis-input>\n </ng-container>\n\n <ng-container *ngIf=\"filter.type === 'dateRangePicker'\">\n <mis-input type=\"rounded\">\n <input misTzDrp misInput type=\"text\" class=\"mis-input\" readonly\n [placeholder]=\"(!dateRangeSelectedDates.startDate && !dateRangeSelectedDates.endDate) ? (filter.placeholder || 'Select') : dateRangeSelectedDates.startDate + ' - ' + dateRangeSelectedDates.endDate\"\n [value]=\"(!dateRangeSelectedDates.startDate && !dateRangeSelectedDates.endDate) ? (filter.placeholder || 'Select') : dateRangeSelectedDates.startDate + ' - ' + dateRangeSelectedDates.endDate\" [positionX]=\"'start'\"\n [positionY]=\"'top'\" [selectedDates]=\"dateRangeSelectedDates\" (dateChange)=\"onDateChange($event, filter.key, filter)\"\n [dpConfig]=\"filter.dateRangePickerConfig\" />\n </mis-input> \n </ng-container>\n\n <ng-container *ngIf=\"filter.type === 'text'\">\n <mis-input type=\"rounded\">\n <input misInput type=\"text\" class=\"input\" [placeholder]=\"filter.placeholder || 'Type here'\" [formControlName]=\"filter.key\">\n </mis-input>\n </ng-container>\n\n <ng-container *ngIf=\"filter.type === 'number'\">\n <mis-input type=\"rounded\">\n <input misInput type=\"number\" class=\"input\" [placeholder]=\"filter.placeholder || 'Type here'\" [formControlName]=\"filter.key\">\n </mis-input>\n </ng-container>\n\n <ng-container *ngIf=\"filter.type === 'range'\">\n <div class=\"range-container\" [formGroup]=\"filterForm.get(filter.key)\">\n <div class=\"range-inner-container\">\n <span>{{ filter?.options?.[0]?.label || 'Min' }}</span>\n <input \n misInput \n type=\"number\" \n class=\"input\" \n [placeholder]=\"filter.placeholder || 'Type here'\" \n formControlName=\"min\" \n />\n </div>\n <div class=\"range-inner-container\">\n <span>{{ filter?.options?.[1]?.label || 'Max' }}</span>\n <input \n misInput \n type=\"number\" \n class=\"input\" \n [placeholder]=\"filter.placeholder || 'Type here'\" \n formControlName=\"max\"\n [min]=\"filterForm.get?.(filter.key)?.get('min')?.value || 0\"\n />\n </div>\n </div>\n </ng-container>\n \n\n <div class=\"horizontal-divider\" *ngIf=\"!last\"></div>\n </div> \n </ng-container>\n </div>\n\n <div class=\"actions\">\n <mis-button [name]=\"'Clear All'\" [size]=\"'Small'\" [type]=\"'Text'\" (click)=\"resetFilters()\"></mis-button>\n <mis-button [name]=\"'Apply'\" [size]=\"'Small'\" [type]=\"'Solid'\" (click)=\"applyFilters()\" [disabled]=\"filterForm.invalid\"></mis-button>\n </div>\n</div> \n","import { Component, EventEmitter, Input, OnChanges, OnInit, Output, SimpleChanges } from '@angular/core';\nimport { slideFromRight } from '../animations/slideFromRight';\nimport { FormControl, FormGroup } from '@angular/forms';\nimport { IDatePickerConfig } from 'mis-crystal-design-system/datepicker_v2';\nimport { IRSelectedDatesConfig } from 'mis-crystal-design-system/specificdatepicker';\nimport { IDatePickerConfig as IDateRangePickerConfig } from \"mis-crystal-design-system/daterangepicker_v2\";\nimport { HasValuePipe } from '../has-value.pipe';\n\n\nexport interface FilterPanelConfig {\n key: string;\n title: string;\n type: 'multiSelect' | 'select' | 'datePicker' | 'dateRangePicker' | 'checkbox' | 'radio' | 'text' | 'number' | 'range';\n options?: Array<{\n label: string;\n value: string;\n data?: any[];\n }>;\n placeholder?: string;\n hidden?: boolean;\n datePickerConfig?: IDatePickerConfig;\n dateRangePickerConfig?: IDateRangePickerConfig;\n onChange?: (event: any, config?: FilterPanelConfig[], formValue?: any) => void;\n defaultValue?: any;\n}\n\n@Component({\n selector: 'mis-filter-panel',\n templateUrl: './filter-panel.component.html',\n styleUrls: ['./filter-panel.component.scss'],\n animations: [slideFromRight]\n})\n\n\n\nexport class FilterPanelComponent implements OnInit, OnChanges {\n constructor(private hasValue: HasValuePipe){}\n @Input() show: boolean;\n @Output() onClose = new EventEmitter();\n @Output() onApply = new EventEmitter();\n @Input() config: FilterPanelConfig[] = [];\n filterForm: FormGroup = new FormGroup([]);\n lastAppliedData: any;\n\n rangeMin: number;\n rangeMax: number;\n\n dateRangeSelectedDates: IRSelectedDatesConfig = {\n startDate: '',\n endDate: '',\n };\n\n ngOnInit() {\n this.initializeFormControls();\n }\n\n ngOnChanges(changes: SimpleChanges): void {\n if(!changes.config?.firstChange){\n this.handleConfigChange();\n }\n }\n\n handleConfigChange(){\n this.config = this.config.filter(filter => !filter.hidden);\n }\n\n initializeFormControls() {\n this.config.forEach((filter: FilterPanelConfig) => {\n let control: any;\n if (filter.type === 'range') {\n control = new FormGroup({\n min: new FormControl(null),\n max: new FormControl(null),\n }, {\n validators: (group: FormGroup) => {\n const min = group.get('min').value;\n const max = group.get('max').value;\n if (min !== null && max !== null && min > max) {\n return { rangeError: 'Min value should be less than max value' };\n }\n return null;\n }\n });\n } else if (filter.type === 'multiSelect' || filter.type === 'checkbox') {\n control = new FormControl([]);\n } else if (filter.type === 'select') {\n control = new FormControl('');\n } else {\n control = new FormControl(null);\n }\n if(this.hasValue.transform(filter.defaultValue)){\n control.setValue(filter.defaultValue);\n }\n this.filterForm.addControl(filter.key, control);\n });\n }\n\n closePanel(){\n if(this.lastAppliedData){\n this.filterForm.setValue(this.lastAppliedData);\n } else {\n this.clearFormValues();\n }\n this.onClose.emit();\n }\n\n updateSelectedShifts(){\n if(this.show){\n const selectedShifts = [...this.filterForm.get('shiftTime').value];\n const currentShifts = this.config.find((filter: FilterPanelConfig) => filter.key === 'shiftTime').options;\n\n selectedShifts.forEach((shift: any) => {\n if(!currentShifts.find((currentShift: any) => currentShift.value === shift.value)){\n selectedShifts.splice(selectedShifts.indexOf(shift), 1);\n }\n });\n\n this.filterForm.get('shiftTime').setValue(selectedShifts);\n }\n }\n\n filterCount(){\n let count = 0;\n this.config.forEach((filter: FilterPanelConfig) => {\n if(this.hasValue.transform(this.filterForm.get(filter.key).value)){\n if(filter.type === 'range' && this.filterForm.get(filter.key).value.min == null && this.filterForm.get(filter.key).value.max == null){\n return;\n }\n count++;\n }\n });\n return count;\n }\n\n applyFilters(){\n if (this.filterForm.invalid) {\n this.filterForm.markAllAsTouched();\n return;\n }\n \n this.lastAppliedData = {...this.filterForm.value};\n this.onApply.emit({\n filterData: this.filterForm.value,\n filterCount: this.filterCount()\n });\n this.show = false;\n this.closePanel();\n }\n\n handleSelect(event: any, filterKey: string, filter: FilterPanelConfig){\n this.filterForm.get(filterKey).setValue(event);\n if(filter.onChange){\n filter.onChange(event, this.config);\n }\n }\n\n onDateChange(event: any, filterKey: string, filter: FilterPanelConfig){\n this.filterForm.get(filterKey).setValue(event);\n if(typeof event === 'object'){\n this.dateRangeSelectedDates = {\n startDate: event.startDate,\n endDate: event.endDate,\n };\n } else {\n console.log(this.filterForm.get(filterKey).value); \n }\n }\n\n handleCheckbox(event: any, filterKey: string, checkboxValue: string, filter: FilterPanelConfig){\n if(event.value){\n this.filterForm.get(filterKey).setValue([...this.filterForm.get(filterKey).value, checkboxValue]);\n } else {\n const filterValue = this.filterForm.get(filterKey).value;\n this.filterForm.get(filterKey).setValue(filterValue.filter((value: string) => value !== checkboxValue));\n }\n if(filter.onChange){\n filter.onChange(event, this.config, this.filterForm.value);\n }\n }\n\n clearFormValues(){\n const resetValues: any = {};\n this.config.forEach((filter: FilterPanelConfig) => {\n let defaultValue: any = filter.defaultValue || null;\n if (filter.type === 'multiSelect' || filter.type === 'checkbox') {\n defaultValue = filter.defaultValue || [];\n }\n if(filter.type === 'range'){\n defaultValue = filter.defaultValue || { min: null, max: null };\n }\n resetValues[filter.key] = defaultValue;\n });\n this.filterForm.patchValue(resetValues);\n }\n\n resetFilters() {\n this.clearFormValues();\n this.applyFilters();\n }\n\n}\n","import { NgModule } from '@angular/core';\nimport { CommonModule } from '@angular/common';\nimport { FormsModule, ReactiveFormsModule } from '@angular/forms';\nimport { ButtonModule } from 'mis-crystal-design-system/button';\nimport { RadioButtonModule } from 'mis-crystal-design-system/radio-button';\nimport { MisInputModule } from \"mis-crystal-design-system/input\";\nimport { CheckboxModule } from 'mis-crystal-design-system/checkbox';\nimport { MultiSelectDropdownModule } from 'mis-crystal-design-system/multi-select-dropdown';\nimport { DatepickerModuleV2 } from 'mis-crystal-design-system/datepicker_v2';\nimport { DateRangepickerModuleV2 } from 'mis-crystal-design-system/daterangepicker_v2';\nimport { FilterPanelComponent } from './filter-panel/filter-panel.component';\nimport { HasValuePipe } from './has-value.pipe';\nimport { DropdownModule } from 'mis-crystal-design-system/dropdown';\n\n@NgModule({\n imports: [\n CommonModule,\n ButtonModule,\n FormsModule,\n ReactiveFormsModule,\n MultiSelectDropdownModule,\n DropdownModule,\n RadioButtonModule,\n MisInputModule,\n DatepickerModuleV2,\n DateRangepickerModuleV2,\n CheckboxModule\n ],\n declarations: [FilterPanelComponent, HasValuePipe],\n providers: [\n HasValuePipe\n ],\n exports: [FilterPanelComponent]\n})\nexport class FiltersModule { }\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './index';\n"],"names":["i1.HasValuePipe"],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"mis-crystal-design-system-filter.mjs","sources":["../../../projects/mis-components/filter/animations/slideFromRight.ts","../../../projects/mis-components/filter/has-value.pipe.ts","../../../projects/mis-components/filter/filter-panel/filter-panel.component.html","../../../projects/mis-components/filter/filter-panel/filter-panel.component.ts","../../../projects/mis-components/filter/filters.module.ts","../../../projects/mis-components/filter/mis-crystal-design-system-filter.ts"],"sourcesContent":["import { trigger, style, animate, transition } from '@angular/animations';\n\nexport const slideFromRight = trigger('slideFromRight', [\n transition(':enter', [\n style({ transform: 'translateX(100%)' }),\n animate('200ms cubic-bezier(0.4, 0.0, 0.2, 1)', style({ transform: 'translateX(0)' }))\n ]),\n\n transition(':leave', [\n style({ transform: 'translateX(0)' }),\n animate('200ms cubic-bezier(0.4, 0.0, 0.2, 1)', style({ transform: 'translateX(100%)' }))\n ])\n]);\n","import { Pipe, PipeTransform } from '@angular/core';\n\n/**\n * HasValuePipe\n * This pipe is use to check given value should not null or undefined \n * Its also check object, Its hould not be empty\n */\n@Pipe({\n name: 'hasValue',\n})\nexport class HasValuePipe implements PipeTransform {\n transform(value: any): any {\n if (Array.isArray(value) && value.length === 0) {\n return false;\n }\n /* This was evaluating dateObject as false*/\n if (value instanceof Date) {\n return true;\n }\n if (typeof value === 'object' && value !== null) {\n return Object.keys(value).length >= 1;\n }\n return value !== null && value !== undefined && value !== '';\n }\n}\n","<div class=\"filter-panel-container\" *ngIf=\"show\" @slideFromRight> \n <div class=\"panel-header\">\n <span>Filters</span>\n <svg class=\"close-icon\" (click)=\"closePanel()\" width=\"25\" height=\"25\" viewBox=\"0 0 25 25\" fill=\"none\" xmlns=\"http://www.w3.org/2000/svg\">\n <g id=\"ic-navigation-cancel-24\">\n <path id=\"Union\" fill-rule=\"evenodd\" clip-rule=\"evenodd\" d=\"M8.60468 6.64355C8.09036 6.12923 7.25649 6.12923 6.74218 6.64355C6.22787 7.15786 6.22787 7.99173 6.74218 8.50604L10.4938 12.2576L6.7431 16.0083C6.22879 16.5226 6.22879 17.3564 6.7431 17.8708C7.25742 18.3851 8.09129 18.3851 8.6056 17.8708L12.3562 14.1201L16.1068 17.8707C16.6211 18.385 17.455 18.385 17.9693 17.8707C18.4836 17.3564 18.4836 16.5225 17.9693 16.0082L14.2187 12.2576L17.9702 8.50613C18.4845 7.99181 18.4845 7.15794 17.9702 6.64363C17.4559 6.12932 16.622 6.12932 16.1077 6.64363L12.3562 10.3951L8.60468 6.64355Z\" fill=\"#181F33\"/>\n </g>\n </svg> \n </div>\n \n <div class=\"horizontal-divider first\"></div>\n \n <div class=\"filters\" [formGroup]=\"filterForm\">\n <ng-container *ngFor=\"let filter of config; let last = last\">\n <div class=\"filter\" *ngIf=\"!filter.hidden\">\n <span class=\"filter-title\">{{filter.title}}</span>\n\n <ng-container *ngIf=\"filter.type === 'multiSelect'\">\n <div class=\"multiselect-filter\">\n <mis-multi-select-dropdown class=\"no-padding\" [label]=\"filter.placeholder || 'Select'\" [selectedItems]=\"filterForm.get(filter.key).value\" (onChange)=\"handleSelect($event, filter.key, filter)\" [data]=\"filter.options\" [searchEnabled]=\"true\"\n [showSelectedCount]=\"true\" [enableSelectAll]=\"true\"\n [hideApplyButton]=\"false\" width=\"100%\" height=\"44px\"></mis-multi-select-dropdown>\n </div>\n </ng-container>\n\n <ng-container *ngIf=\"filter.type === 'select'\">\n <div class=\"multiselect-filter\">\n <mis-dropdown [data]=\"filter.options\" [searchEnabled]=\"true\" width=\"100%\" height=\"44px\"\n (onChange)=\"handleSelect($event, filter.key, filter)\" [selectedItem]=\"filterForm.get(filter.key).value\">\n </mis-dropdown>\n </div>\n </ng-container>\n \n <ng-container *ngIf=\"filter.type === 'checkbox'\">\n <div class=\"checkbox-row\">\n <div *ngFor=\"let option of filter.options\" class=\"checkbox-container\">\n <mis-checkbox [type]=\"'Default'\" [checked]=\"filterForm.get(filter.key).value?.includes(option.value)\" (valueChange)=\"handleCheckbox($event, filter.key, option.value, filter)\"></mis-checkbox>\n <span class=\"checkbox-label\">{{option.label}}</span>\n </div>\n </div>\n </ng-container>\n\n <ng-container *ngIf=\"filter.type === 'datePicker'\">\n {{filter.placeholder}}\n <mis-input type=\"rounded\">\n <input misTzDp misInput type=\"text\" readonly class=\"mis-input\" [dpConfig]=\"filter.datepickerConfig\" [placeholder]=\"filterForm.get(filter.key).value ? filterForm.get(filter.key).value : (filter.placeholder || 'Select')\" [value]=\"filterForm.get(filter.key).value ? filterForm.get(filter.key).value : (filter.placeholder || 'Select')\" (dateChange)=\"onDateChange($event, filter.key, filter)\" [selectedDate]=\"filterForm.get(filter.key).value\" [positionX]=\"'end'\" [offsetX]=\"-10\">\n </mis-input>\n </ng-container>\n\n <ng-container *ngIf=\"filter.type === 'dateRangePicker'\">\n <mis-input type=\"rounded\">\n <input misTzDrp misInput type=\"text\" class=\"mis-input\" readonly\n [placeholder]=\"(!dateRangeSelectedDates.startDate && !dateRangeSelectedDates.endDate) ? (filter.placeholder || 'Select') : dateRangeSelectedDates.startDate + ' - ' + dateRangeSelectedDates.endDate\"\n [value]=\"(!dateRangeSelectedDates.startDate && !dateRangeSelectedDates.endDate) ? (filter.placeholder || 'Select') : dateRangeSelectedDates.startDate + ' - ' + dateRangeSelectedDates.endDate\" [positionX]=\"'start'\"\n [positionY]=\"'top'\" [selectedDates]=\"dateRangeSelectedDates\" (dateChange)=\"onDateChange($event, filter.key, filter)\"\n [dpConfig]=\"filter.dateRangePickerConfig\" />\n </mis-input> \n </ng-container>\n\n <ng-container *ngIf=\"filter.type === 'text'\">\n <mis-input type=\"rounded\">\n <input misInput type=\"text\" class=\"input\" [placeholder]=\"filter.placeholder || 'Type here'\" [formControlName]=\"filter.key\">\n </mis-input>\n </ng-container>\n\n <ng-container *ngIf=\"filter.type === 'number'\">\n <mis-input type=\"rounded\">\n <input misInput type=\"number\" class=\"input\" [placeholder]=\"filter.placeholder || 'Type here'\" [formControlName]=\"filter.key\">\n </mis-input>\n </ng-container>\n\n <ng-container *ngIf=\"filter.type === 'range'\">\n <div class=\"range-container\" [formGroup]=\"filterForm.get(filter.key)\">\n <div class=\"range-inner-container\">\n <span>{{ filter?.options?.[0]?.label || 'Min' }}</span>\n <input \n misInput \n type=\"number\" \n class=\"input\" \n [placeholder]=\"filter.placeholder || 'Type here'\" \n formControlName=\"min\" \n />\n </div>\n <div class=\"range-inner-container\">\n <span>{{ filter?.options?.[1]?.label || 'Max' }}</span>\n <input \n misInput \n type=\"number\" \n class=\"input\" \n [placeholder]=\"filter.placeholder || 'Type here'\" \n formControlName=\"max\"\n [min]=\"filterForm.get?.(filter.key)?.get('min')?.value || 0\"\n />\n </div>\n </div>\n </ng-container>\n \n\n <div class=\"horizontal-divider\" *ngIf=\"!last\"></div>\n </div> \n </ng-container>\n </div>\n\n <div class=\"actions\">\n <mis-button [name]=\"'Clear All'\" [size]=\"'Small'\" [type]=\"'Text'\" (click)=\"resetFilters()\"></mis-button>\n <mis-button [name]=\"'Apply'\" [size]=\"'Small'\" [type]=\"'Solid'\" (click)=\"applyFilters()\" [disabled]=\"filterForm.invalid\"></mis-button>\n </div>\n</div> \n","import { Component, EventEmitter, Input, OnChanges, OnInit, Output, SimpleChanges } from '@angular/core';\nimport { slideFromRight } from '../animations/slideFromRight';\nimport { FormControl, FormGroup } from '@angular/forms';\nimport { IDatePickerConfig } from 'mis-crystal-design-system/datepicker_v2';\nimport { IRSelectedDatesConfig } from 'mis-crystal-design-system/specificdatepicker';\nimport { IDatePickerConfig as IDateRangePickerConfig } from \"mis-crystal-design-system/daterangepicker_v2\";\nimport { HasValuePipe } from '../has-value.pipe';\n\n\nexport interface FilterPanelConfig {\n key: string;\n title: string;\n type: 'multiSelect' | 'select' | 'datePicker' | 'dateRangePicker' | 'checkbox' | 'radio' | 'text' | 'number' | 'range';\n options?: Array<{\n label: string;\n value: string;\n data?: any[];\n }>;\n placeholder?: string;\n hidden?: boolean;\n datePickerConfig?: IDatePickerConfig;\n dateRangePickerConfig?: IDateRangePickerConfig;\n onChange?: (event: any, config?: FilterPanelConfig[], formValue?: any) => void;\n defaultValue?: any;\n selectedValue?: any;\n}\n\n@Component({\n selector: 'mis-filter-panel',\n templateUrl: './filter-panel.component.html',\n styleUrls: ['./filter-panel.component.scss'],\n animations: [slideFromRight]\n})\n\n\n\nexport class FilterPanelComponent implements OnInit, OnChanges {\n constructor(private hasValue: HasValuePipe){}\n @Input() show: boolean;\n @Output() onClose = new EventEmitter();\n @Output() onApply = new EventEmitter();\n @Input() config: FilterPanelConfig[] = [];\n @Input() emitFiltersAfterSettingNewValues: boolean = false;\n filterForm: FormGroup = new FormGroup([]);\n lastAppliedData: any;\n\n rangeMin: number;\n rangeMax: number;\n\n dateRangeSelectedDates: IRSelectedDatesConfig = {\n startDate: '',\n endDate: '',\n };\n\n ngOnInit() {\n this.initializeFormControls();\n }\n\n ngOnChanges(changes: SimpleChanges): void {\n if(changes.config && !changes.config.firstChange){\n this.setFilterValue(this.config);\n }\n }\n\n initializeFormControls() {\n this.config.forEach((filter: FilterPanelConfig) => {\n let control: any;\n if (filter.type === 'range') {\n control = new FormGroup({\n min: new FormControl(null),\n max: new FormControl(null),\n }, {\n validators: (group: FormGroup) => {\n const min = group.get('min').value;\n const max = group.get('max').value;\n if (min !== null && max !== null && min > max) {\n return { rangeError: 'Min value should be less than max value' };\n }\n return null;\n }\n });\n } else if (filter.type === 'multiSelect' || filter.type === 'checkbox') {\n control = new FormControl([]);\n } else if (filter.type === 'select') {\n control = new FormControl('');\n } else {\n control = new FormControl(null);\n }\n if(this.hasValue.transform(filter.defaultValue)){\n control.setValue(filter.defaultValue);\n }\n this.filterForm.addControl(filter.key, control);\n });\n }\n\n closePanel(){\n if(this.lastAppliedData){\n this.filterForm.setValue(this.lastAppliedData);\n } else {\n this.clearFormValues();\n }\n this.onClose.emit();\n }\n\n filterCount(){\n let count = 0;\n this.config.forEach((filter: FilterPanelConfig) => {\n if(this.hasValue.transform(this.filterForm.get(filter.key).value)){\n if(filter.type === 'range' && this.filterForm.get(filter.key).value.min == null && this.filterForm.get(filter.key).value.max == null){\n return;\n }\n count++;\n }\n });\n return count;\n }\n\n applyFilters(){\n if (this.filterForm.invalid) {\n this.filterForm.markAllAsTouched();\n return;\n }\n \n this.lastAppliedData = {...this.filterForm.value};\n this.onApply.emit({\n filterData: this.filterForm.value,\n filterCount: this.filterCount()\n });\n this.show = false;\n this.closePanel();\n }\n\n handleSelect(event: any, filterKey: string, filter: FilterPanelConfig){\n this.filterForm.get(filterKey).setValue(event);\n if(filter.onChange){\n filter.onChange(event, this.config);\n }\n }\n\n onDateChange(event: any, filterKey: string, filter: FilterPanelConfig){\n this.filterForm.get(filterKey).setValue(event);\n if(typeof event === 'object'){\n this.dateRangeSelectedDates = {\n startDate: event.startDate,\n endDate: event.endDate,\n };\n } else {\n console.log(this.filterForm.get(filterKey).value); \n }\n }\n\n handleCheckbox(event: any, filterKey: string, checkboxValue: string, filter: FilterPanelConfig){\n if(event.value){\n this.filterForm.get(filterKey).setValue([...this.filterForm.get(filterKey).value, checkboxValue]);\n } else {\n const filterValue = this.filterForm.get(filterKey).value;\n this.filterForm.get(filterKey).setValue(filterValue.filter((value: string) => value !== checkboxValue));\n }\n if(filter.onChange){\n filter.onChange(event, this.config, this.filterForm.value);\n }\n }\n\n clearFormValues(){\n const resetValues: any = {};\n this.config.forEach((filter: FilterPanelConfig) => {\n let defaultValue: any = filter.defaultValue || null;\n if (filter.type === 'multiSelect' || filter.type === 'checkbox') {\n defaultValue = filter.defaultValue || [];\n }\n if(filter.type === 'range'){\n defaultValue = filter.defaultValue || { min: null, max: null };\n }\n resetValues[filter.key] = defaultValue;\n });\n this.filterForm.patchValue(resetValues);\n }\n\n resetFilters() {\n this.clearFormValues();\n this.applyFilters();\n }\n\n setFilterValue(config: FilterPanelConfig[]){\n let anyValueSet = false;\n for(const filter of config){\n if(filter?.selectedValue){\n this.filterForm.get(filter.key).setValue(filter.selectedValue);\n anyValueSet = true;\n }\n }\n if(anyValueSet && this.emitFiltersAfterSettingNewValues){\n this.applyFilters();\n }\n }\n\n}\n","import { NgModule } from '@angular/core';\nimport { CommonModule } from '@angular/common';\nimport { FormsModule, ReactiveFormsModule } from '@angular/forms';\nimport { ButtonModule } from 'mis-crystal-design-system/button';\nimport { RadioButtonModule } from 'mis-crystal-design-system/radio-button';\nimport { MisInputModule } from \"mis-crystal-design-system/input\";\nimport { CheckboxModule } from 'mis-crystal-design-system/checkbox';\nimport { MultiSelectDropdownModule } from 'mis-crystal-design-system/multi-select-dropdown';\nimport { DatepickerModuleV2 } from 'mis-crystal-design-system/datepicker_v2';\nimport { DateRangepickerModuleV2 } from 'mis-crystal-design-system/daterangepicker_v2';\nimport { FilterPanelComponent } from './filter-panel/filter-panel.component';\nimport { HasValuePipe } from './has-value.pipe';\nimport { DropdownModule } from 'mis-crystal-design-system/dropdown';\n\n@NgModule({\n imports: [\n CommonModule,\n ButtonModule,\n FormsModule,\n ReactiveFormsModule,\n MultiSelectDropdownModule,\n DropdownModule,\n RadioButtonModule,\n MisInputModule,\n DatepickerModuleV2,\n DateRangepickerModuleV2,\n CheckboxModule\n ],\n declarations: [FilterPanelComponent, HasValuePipe],\n providers: [\n HasValuePipe\n ],\n exports: [FilterPanelComponent]\n})\nexport class FiltersModule { }\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './index';\n"],"names":["i1.HasValuePipe"],"mappings":";;;;;;;;;;;;;;;;;;;;;;;AAEO,MAAM,cAAc,GAAG,OAAO,CAAC,gBAAgB,EAAE;IACpD,UAAU,CAAC,QAAQ,EAAE;AACjB,QAAA,KAAK,CAAC,EAAE,SAAS,EAAE,kBAAkB,EAAE,CAAC;QACxC,OAAO,CAAC,sCAAsC,EAAE,KAAK,CAAC,EAAE,SAAS,EAAE,eAAe,EAAE,CAAC,CAAC;KACzF,CAAC;IAEF,UAAU,CAAC,QAAQ,EAAE;AACjB,QAAA,KAAK,CAAC,EAAE,SAAS,EAAE,eAAe,EAAE,CAAC;QACrC,OAAO,CAAC,sCAAsC,EAAE,KAAK,CAAC,EAAE,SAAS,EAAE,kBAAkB,EAAE,CAAC,CAAC;KAC5F,CAAC;AACL,CAAA,CAAC;;ACVF;;;;AAIG;MAIU,YAAY,CAAA;AACvB,IAAA,SAAS,CAAC,KAAU,EAAA;AAClB,QAAA,IAAI,KAAK,CAAC,OAAO,CAAC,KAAK,CAAC,IAAI,KAAK,CAAC,MAAM,KAAK,CAAC,EAAE;AAC9C,YAAA,OAAO,KAAK,CAAC;AACd,SAAA;;QAED,IAAI,KAAK,YAAY,IAAI,EAAE;AACzB,YAAA,OAAO,IAAI,CAAC;AACb,SAAA;QACD,IAAI,OAAO,KAAK,KAAK,QAAQ,IAAI,KAAK,KAAK,IAAI,EAAE;YAC/C,OAAO,MAAM,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,MAAM,IAAI,CAAC,CAAC;AACvC,SAAA;QACD,OAAO,KAAK,KAAK,IAAI,IAAI,KAAK,KAAK,SAAS,IAAI,KAAK,KAAK,EAAE,CAAC;KAC9D;;wEAbU,YAAY,GAAA,CAAA,EAAA,CAAA;6EAAZ,YAAY,EAAA,IAAA,EAAA,IAAA,EAAA,CAAA,CAAA;;4EAAZ,YAAY,EAAA,CAAA;kBAHxB,IAAI;AAAC,YAAA,IAAA,EAAA,CAAA;AACJ,oBAAA,IAAI,EAAE,UAAU;iBACjB,CAAA;;;;;;;ACQe,QAAA,EAAoD,CAAA,uBAAA,CAAA,CAAA,CAAA,CAAA;AAChD,QAAA,EAAA,CAAA,cAAA,CAAA,CAAA,EAAA,KAAA,EAAA,EAAA,CAAgC,CAAA,CAAA,EAAA,2BAAA,EAAA,EAAA,CAAA,CAAA;AAC8G,QAAA,EAAY,CAAA,UAAA,CAAA,UAAA,EAAA,SAAA,qHAAA,CAAA,MAAA,EAAA,EAAA,EAAA,CAAA,aAAA,CAAA,IAAA,CAAA,CAAA,CAAA,MAAA,SAAA,GAAA,EAAA,CAAA,aAAA,CAAA,CAAA,CAAA,CAAA,SAAA,CAAA,CAAA,MAAA,OAAA,GAAA,EAAA,CAAA,aAAA,CAAA,CAAA,CAAA,CAAA,CAAA,OAAA,EAAA,CAAA,WAAA,CAAA,OAAwC,CAAA,YAAA,CAAA,MAAA,EAAA,SAAA,CAAA,GAAA,EAAA,SAAA,CAAA,CAAA,CAAC,EAAA,CAAA,CAAA;AAEtI,QAAA,EAAA,CAAA,YAAA,EAA4B,EAAA,CAAA;QAE7F,EAAe,CAAA,qBAAA,EAAA,CAAA;;;;;AAJuC,QAAA,EAAwC,CAAA,SAAA,CAAA,CAAA,CAAA,CAAA;QAAxC,EAAA,CAAA,UAAA,CAAA,OAAA,EAAA,SAAA,CAAA,WAAA,IAAA,QAAA,CAAwC,CAAA,eAAA,EAAA,MAAA,CAAA,UAAA,CAAA,GAAA,CAAA,SAAA,CAAA,GAAA,CAAA,CAAA,KAAA,CAAA,CAAA,MAAA,EAAA,SAAA,CAAA,OAAA,CAAA,CAAA,eAAA,EAAA,IAAA,CAAA,CAAA,mBAAA,EAAA,IAAA,CAAA,yBAAA,CAAA,iBAAA,EAAA,KAAA,CAAA,CAAA;;;;;;AAM9F,QAAA,EAA+C,CAAA,uBAAA,CAAA,CAAA,CAAA,CAAA;AAC3C,QAAA,EAAA,CAAA,cAAA,CAAA,CAAA,EAAA,KAAA,EAAA,EAAA,CAAgC,CAAA,CAAA,EAAA,cAAA,EAAA,EAAA,CAAA,CAAA;AAEpB,QAAA,EAAY,CAAA,UAAA,CAAA,UAAA,EAAA,SAAA,wGAAA,CAAA,MAAA,EAAA,EAAA,EAAA,CAAA,aAAA,CAAA,IAAA,CAAA,CAAA,CAAA,MAAA,SAAA,GAAA,EAAA,CAAA,aAAA,CAAA,CAAA,CAAA,CAAA,SAAA,CAAA,CAAA,MAAA,OAAA,GAAA,EAAA,CAAA,aAAA,CAAA,CAAA,CAAA,CAAA,CAAA,OAAA,EAAA,CAAA,WAAA,CAAA,OAAwC,CAAA,YAAA,CAAA,MAAA,EAAA,SAAA,CAAA,GAAA,EAAA,SAAA,CAAA,CAAA,CAAC,EAAA,CAAA,CAAA;AAC7D,QAAA,EAAA,CAAA,YAAA,EAAe,EAAA,CAAA;QAEvB,EAAe,CAAA,qBAAA,EAAA,CAAA;;;;;AAJO,QAAA,EAAuB,CAAA,SAAA,CAAA,CAAA,CAAA,CAAA;AAAvB,QAAA,EAAA,CAAA,UAAA,CAAA,MAAA,EAAA,SAAA,CAAA,OAAA,CAAuB,uBAAA,CAAA,cAAA,EAAA,MAAA,CAAA,UAAA,CAAA,GAAA,CAAA,SAAA,CAAA,GAAA,CAAA,CAAA,KAAA,CAAA,CAAA;;;;;;AAQrC,QAAA,EAAA,CAAA,cAAA,CAAA,CAAA,EAAA,KAAA,EAAA,EAAA,CAAsE,CAAA,CAAA,EAAA,cAAA,EAAA,EAAA,CAAA,CAAA;AACoC,QAAA,EAAe,CAAA,UAAA,CAAA,aAAA,EAAA,SAAA,iHAAA,CAAA,MAAA,EAAA,EAAA,MAAA,WAAA,GAAA,EAAA,CAAA,aAAA,CAAA,IAAA,CAAA,CAAA,CAAA,MAAA,UAAA,GAAA,WAAA,CAAA,SAAA,CAAA,CAAA,MAAA,SAAA,GAAA,EAAA,CAAA,aAAA,CAAA,CAAA,CAAA,CAAA,SAAA,CAAA,CAAA,MAAA,OAAA,GAAA,EAAA,CAAA,aAAA,CAAA,CAAA,CAAA,CAAA,CAAA,OAAA,EAAA,CAAA,WAAA,CAAA,OAAwD,CAAA,cAAA,CAAA,MAAA,EAAA,SAAA,CAAA,GAAA,EAAA,UAAA,CAAA,KAAA,EAAA,SAAA,CAAA,CAAA,CAAC,EAAA,CAAA,CAAA;QAAC,EAAe,CAAA,YAAA,EAAA,CAAA;QAC9L,EAA6B,CAAA,cAAA,CAAA,CAAA,EAAA,MAAA,EAAA,EAAA,CAAA,CAAA;AAAA,QAAA,EAAgB,CAAA,MAAA,CAAA,CAAA,CAAA,CAAA;AAAA,QAAA,EAAA,CAAA,YAAA,EAAO,EAAA,CAAA;;;;;;AADtC,QAAA,EAAkB,CAAA,SAAA,CAAA,CAAA,CAAA,CAAA;QAAlB,EAAA,CAAA,UAAA,CAAA,MAAA,EAAA,SAAA,CAAkB,CAAA,SAAA,EAAA,OAAA,CAAA,UAAA,CAAA,GAAA,CAAA,SAAA,CAAA,GAAA,CAAA,CAAA,KAAA,IAAA,IAAA,GAAA,IAAA,GAAA,OAAA,CAAA,UAAA,CAAA,GAAA,CAAA,SAAA,CAAA,GAAA,CAAA,CAAA,KAAA,CAAA,QAAA,CAAA,UAAA,CAAA,KAAA,CAAA,CAAA,CAAA;AACH,QAAA,EAAgB,CAAA,SAAA,CAAA,CAAA,CAAA,CAAA;AAAhB,QAAA,EAAgB,CAAA,iBAAA,CAAA,UAAA,CAAA,KAAA,CAAA,CAAA;;;;;AAJzD,QAAA,EAAiD,CAAA,uBAAA,CAAA,CAAA,CAAA,CAAA;QAC7C,EAA0B,CAAA,cAAA,CAAA,CAAA,EAAA,KAAA,EAAA,EAAA,CAAA,CAAA;AACtB,QAAA,EAGM,CAAA,UAAA,CAAA,CAAA,EAAA,6EAAA,EAAA,CAAA,EAAA,CAAA,EAAA,KAAA,EAAA,EAAA,CAAA,CAAA;QACV,EAAM,CAAA,YAAA,EAAA,CAAA;QACV,EAAe,CAAA,qBAAA,EAAA,CAAA;;;;AALiB,QAAA,EAAiB,CAAA,SAAA,CAAA,CAAA,CAAA,CAAA;QAAjB,EAAiB,CAAA,UAAA,CAAA,SAAA,EAAA,SAAA,CAAA,OAAA,CAAA,CAAA;;;;;;AAOjD,QAAA,EAAmD,CAAA,uBAAA,CAAA,CAAA,CAAA,CAAA;AAC/C,QAAA,EACA,CAAA,MAAA,CAAA,CAAA,CAAA,CAAA;AAAA,QAAA,EAAA,CAAA,cAAA,CAAA,CAAA,EAAA,WAAA,EAAA,EAAA,CAA0B,CAAA,CAAA,EAAA,OAAA,EAAA,EAAA,CAAA,CAAA;AACsT,QAAA,EAAc,CAAA,UAAA,CAAA,YAAA,EAAA,SAAA,mGAAA,CAAA,MAAA,EAAA,EAAA,EAAA,CAAA,aAAA,CAAA,IAAA,CAAA,CAAA,CAAA,MAAA,SAAA,GAAA,EAAA,CAAA,aAAA,CAAA,CAAA,CAAA,CAAA,SAAA,CAAA,CAAA,MAAA,OAAA,GAAA,EAAA,CAAA,aAAA,CAAA,CAAA,CAAA,CAAA,CAAA,OAAA,EAAA,CAAA,WAAA,CAAA,OAAwC,CAAA,YAAA,CAAA,MAAA,EAAA,SAAA,CAAA,GAAA,EAAA,SAAA,CAAA,CAAA,CAAC,EAAA,CAAA,CAAA;AAAnY,QAAA,EAAA,CAAA,YAAA,EAA0d,EAAA,CAAA;QAEle,EAAe,CAAA,qBAAA,EAAA,CAAA;;;;;AAJX,QAAA,EACA,CAAA,SAAA,CAAA,CAAA,CAAA,CAAA;QADA,EACA,CAAA,kBAAA,CAAA,GAAA,EAAA,SAAA,CAAA,WAAA,EAAA,GAAA,CAAA,CAAA;AACmE,QAAA,EAAoC,CAAA,SAAA,CAAA,CAAA,CAAA,CAAA;QAApC,EAAA,CAAA,UAAA,CAAA,UAAA,EAAA,SAAA,CAAA,gBAAA,CAAoC,CAAA,aAAA,EAAA,MAAA,CAAA,UAAA,CAAA,GAAA,CAAA,SAAA,CAAA,GAAA,CAAA,CAAA,KAAA,GAAA,MAAA,CAAA,UAAA,CAAA,GAAA,CAAA,SAAA,CAAA,GAAA,CAAA,CAAA,KAAA,GAAA,SAAA,CAAA,WAAA,IAAA,QAAA,CAAA,CAAA,OAAA,EAAA,MAAA,CAAA,UAAA,CAAA,GAAA,CAAA,SAAA,CAAA,GAAA,CAAA,CAAA,KAAA,GAAA,MAAA,CAAA,UAAA,CAAA,GAAA,CAAA,SAAA,CAAA,GAAA,CAAA,CAAA,KAAA,GAAA,SAAA,CAAA,WAAA,IAAA,QAAA,CAAA,CAAA,cAAA,EAAA,MAAA,CAAA,UAAA,CAAA,GAAA,CAAA,SAAA,CAAA,GAAA,CAAA,CAAA,KAAA,CAAA,CAAA,WAAA,EAAA,KAAA,CAAA,CAAA,SAAA,EAAA,CAAA,EAAA,CAAA,CAAA;;;;;;AAI3G,QAAA,EAAwD,CAAA,uBAAA,CAAA,CAAA,CAAA,CAAA;AACxD,QAAA,EAAA,CAAA,cAAA,CAAA,CAAA,EAAA,WAAA,EAAA,EAAA,CAA0B,CAAA,CAAA,EAAA,OAAA,EAAA,EAAA,CAAA,CAAA;AAI2C,QAAA,EAAc,CAAA,UAAA,CAAA,YAAA,EAAA,SAAA,mGAAA,CAAA,MAAA,EAAA,EAAA,EAAA,CAAA,aAAA,CAAA,IAAA,CAAA,CAAA,CAAA,MAAA,SAAA,GAAA,EAAA,CAAA,aAAA,CAAA,CAAA,CAAA,CAAA,SAAA,CAAA,CAAA,MAAA,OAAA,GAAA,EAAA,CAAA,aAAA,CAAA,CAAA,CAAA,CAAA,CAAA,OAAA,EAAA,CAAA,WAAA,CAAA,OAAwC,CAAA,YAAA,CAAA,MAAA,EAAA,SAAA,CAAA,GAAA,EAAA,SAAA,CAAA,CAAA,CAAC,EAAA,CAAA,CAAA;AAHxH,QAAA,EAAA,CAAA,YAAA,EAIgD,EAAA,CAAA;QAEpD,EAAe,CAAA,qBAAA,EAAA,CAAA;;;;;AALP,QAAA,EAAqM,CAAA,SAAA,CAAA,CAAA,CAAA,CAAA;QAArM,EAAA,CAAA,UAAA,CAAA,aAAA,EAAA,CAAA,MAAA,CAAA,sBAAA,CAAA,SAAA,IAAA,CAAA,MAAA,CAAA,sBAAA,CAAA,OAAA,GAAA,SAAA,CAAA,WAAA,IAAA,QAAA,GAAA,MAAA,CAAA,sBAAA,CAAA,SAAA,GAAA,KAAA,GAAA,MAAA,CAAA,sBAAA,CAAA,OAAA,CAAqM,CAAA,OAAA,EAAA,CAAA,MAAA,CAAA,sBAAA,CAAA,SAAA,IAAA,CAAA,MAAA,CAAA,sBAAA,CAAA,OAAA,GAAA,SAAA,CAAA,WAAA,IAAA,QAAA,GAAA,MAAA,CAAA,sBAAA,CAAA,SAAA,GAAA,KAAA,GAAA,MAAA,CAAA,sBAAA,CAAA,OAAA,CAAA,CAAA,WAAA,EAAA,OAAA,CAAA,CAAA,WAAA,EAAA,KAAA,CAAA,CAAA,eAAA,EAAA,MAAA,CAAA,sBAAA,CAAA,CAAA,UAAA,EAAA,SAAA,CAAA,qBAAA,CAAA,CAAA;;;;;AAO7M,QAAA,EAA6C,CAAA,uBAAA,CAAA,CAAA,CAAA,CAAA;QACzC,EAA0B,CAAA,cAAA,CAAA,CAAA,EAAA,WAAA,EAAA,EAAA,CAAA,CAAA;QACtB,EAA2H,CAAA,SAAA,CAAA,CAAA,EAAA,OAAA,EAAA,EAAA,CAAA,CAAA;QAC/H,EAAY,CAAA,YAAA,EAAA,CAAA;QAChB,EAAe,CAAA,qBAAA,EAAA,CAAA;;;;AAFmC,QAAA,EAAiD,CAAA,SAAA,CAAA,CAAA,CAAA,CAAA;AAAjD,QAAA,EAAA,CAAA,UAAA,CAAA,aAAA,EAAA,SAAA,CAAA,WAAA,IAAA,WAAA,CAAiD,CAAA,iBAAA,EAAA,SAAA,CAAA,GAAA,CAAA,CAAA;;;;;AAInG,QAAA,EAA+C,CAAA,uBAAA,CAAA,CAAA,CAAA,CAAA;QAC3C,EAA0B,CAAA,cAAA,CAAA,CAAA,EAAA,WAAA,EAAA,EAAA,CAAA,CAAA;QACtB,EAA6H,CAAA,SAAA,CAAA,CAAA,EAAA,OAAA,EAAA,EAAA,CAAA,CAAA;QACjI,EAAY,CAAA,YAAA,EAAA,CAAA;QAChB,EAAe,CAAA,qBAAA,EAAA,CAAA;;;;AAFqC,QAAA,EAAiD,CAAA,SAAA,CAAA,CAAA,CAAA,CAAA;AAAjD,QAAA,EAAA,CAAA,UAAA,CAAA,aAAA,EAAA,SAAA,CAAA,WAAA,IAAA,WAAA,CAAiD,CAAA,iBAAA,EAAA,SAAA,CAAA,GAAA,CAAA,CAAA;;;;;AAIrG,QAAA,EAA8C,CAAA,uBAAA,CAAA,CAAA,CAAA,CAAA;QAC1C,EAAA,CAAA,cAAA,CAAA,CAAA,EAAA,KAAA,EAAA,EAAA,CAAsE,cAAA,CAAA,CAAA,EAAA,MAAA,CAAA,CAAA;AAE5D,QAAA,EAA0C,CAAA,MAAA,CAAA,CAAA,CAAA,CAAA;QAAA,EAAO,CAAA,YAAA,EAAA,CAAA;QACvD,EAMI,CAAA,SAAA,CAAA,CAAA,EAAA,OAAA,EAAA,EAAA,CAAA,CAAA;QACN,EAAM,CAAA,YAAA,EAAA,CAAA;AACN,QAAA,EAAA,CAAA,cAAA,CAAA,CAAA,EAAA,KAAA,EAAA,EAAA,CAAmC,CAAA,CAAA,EAAA,MAAA,CAAA,CAAA;AAC3B,QAAA,EAA0C,CAAA,MAAA,CAAA,CAAA,CAAA,CAAA;QAAA,EAAO,CAAA,YAAA,EAAA,CAAA;QACvD,EAOG,CAAA,SAAA,CAAA,CAAA,EAAA,OAAA,EAAA,EAAA,CAAA,CAAA;AACL,QAAA,EAAA,CAAA,YAAA,EAAM,EAAA,CAAA;QAEV,EAAe,CAAA,qBAAA,EAAA,CAAA;;;;;;;AAvBgB,QAAA,EAAwC,CAAA,SAAA,CAAA,CAAA,CAAA,CAAA;AAAxC,QAAA,EAAwC,CAAA,UAAA,CAAA,WAAA,EAAA,OAAA,CAAA,UAAA,CAAA,GAAA,CAAA,SAAA,CAAA,GAAA,CAAA,CAAA,CAAA;AAE3D,QAAA,EAA0C,CAAA,SAAA,CAAA,CAAA,CAAA,CAAA;QAA1C,EAA0C,CAAA,iBAAA,CAAA,CAAA,SAAA,IAAA,IAAA,GAAA,IAAA,GAAA,SAAA,CAAA,OAAA,IAAA,IAAA,GAAA,IAAA,GAAA,SAAA,CAAA,OAAA,CAAA,CAAA,CAAA,IAAA,IAAA,GAAA,IAAA,GAAA,SAAA,CAAA,OAAA,CAAA,CAAA,CAAA,CAAA,KAAA,KAAA,KAAA,CAAA,CAAA;AAK9C,QAAA,EAAiD,CAAA,SAAA,CAAA,CAAA,CAAA,CAAA;QAAjD,EAAiD,CAAA,UAAA,CAAA,aAAA,EAAA,SAAA,CAAA,WAAA,IAAA,WAAA,CAAA,CAAA;AAK7C,QAAA,EAA0C,CAAA,SAAA,CAAA,CAAA,CAAA,CAAA;QAA1C,EAA0C,CAAA,iBAAA,CAAA,CAAA,SAAA,IAAA,IAAA,GAAA,IAAA,GAAA,SAAA,CAAA,OAAA,IAAA,IAAA,GAAA,IAAA,GAAA,SAAA,CAAA,OAAA,CAAA,CAAA,CAAA,IAAA,IAAA,GAAA,IAAA,GAAA,SAAA,CAAA,OAAA,CAAA,CAAA,CAAA,CAAA,KAAA,KAAA,KAAA,CAAA,CAAA;AAK9C,QAAA,EAAiD,CAAA,SAAA,CAAA,CAAA,CAAA,CAAA;AAAjD,QAAA,EAAA,CAAA,UAAA,CAAA,aAAA,EAAA,SAAA,CAAA,WAAA,IAAA,WAAA,CAAiD,CAAA,KAAA,EAAA,CAAA,OAAA,CAAA,UAAA,CAAA,GAAA,IAAA,IAAA,GAAA,IAAA,GAAA,CAAA,OAAA,GAAA,OAAA,CAAA,UAAA,CAAA,GAAA,CAAA,SAAA,CAAA,GAAA,CAAA,KAAA,IAAA,GAAA,IAAA,GAAA,CAAA,OAAA,GAAA,OAAA,CAAA,GAAA,CAAA,KAAA,CAAA,KAAA,IAAA,GAAA,IAAA,GAAA,OAAA,CAAA,KAAA,KAAA,CAAA,CAAA,CAAA;;;;;QAS3D,EAAoD,CAAA,SAAA,CAAA,CAAA,EAAA,KAAA,EAAA,EAAA,CAAA,CAAA;;;;;AApFxD,QAAA,EAAA,CAAA,cAAA,CAAA,CAAA,EAAA,KAAA,EAAA,EAAA,CAA2C,CAAA,CAAA,EAAA,MAAA,EAAA,EAAA,CAAA,CAAA;AACZ,QAAA,EAAgB,CAAA,MAAA,CAAA,CAAA,CAAA,CAAA;QAAA,EAAO,CAAA,YAAA,EAAA,CAAA;AAElD,QAAA,EAMe,CAAA,UAAA,CAAA,CAAA,EAAA,uEAAA,EAAA,CAAA,EAAA,CAAA,EAAA,cAAA,EAAA,EAAA,CAAA,CAAA;AAEf,QAAA,EAMe,CAAA,UAAA,CAAA,CAAA,EAAA,uEAAA,EAAA,CAAA,EAAA,CAAA,EAAA,cAAA,EAAA,EAAA,CAAA,CAAA;AAEf,QAAA,EAOe,CAAA,UAAA,CAAA,CAAA,EAAA,uEAAA,EAAA,CAAA,EAAA,CAAA,EAAA,cAAA,EAAA,EAAA,CAAA,CAAA;AAEf,QAAA,EAKe,CAAA,UAAA,CAAA,CAAA,EAAA,uEAAA,EAAA,CAAA,EAAA,CAAA,EAAA,cAAA,EAAA,EAAA,CAAA,CAAA;AAEf,QAAA,EAQe,CAAA,UAAA,CAAA,CAAA,EAAA,uEAAA,EAAA,CAAA,EAAA,CAAA,EAAA,cAAA,EAAA,EAAA,CAAA,CAAA;AAEf,QAAA,EAIe,CAAA,UAAA,CAAA,CAAA,EAAA,uEAAA,EAAA,CAAA,EAAA,CAAA,EAAA,cAAA,EAAA,EAAA,CAAA,CAAA;AAEf,QAAA,EAIe,CAAA,UAAA,CAAA,CAAA,EAAA,uEAAA,EAAA,CAAA,EAAA,CAAA,EAAA,cAAA,EAAA,EAAA,CAAA,CAAA;AAEf,QAAA,EAwBiB,CAAA,UAAA,CAAA,EAAA,EAAA,wEAAA,EAAA,EAAA,EAAA,CAAA,EAAA,cAAA,EAAA,EAAA,CAAA,CAAA;AAGjB,QAAA,EAAoD,CAAA,UAAA,CAAA,EAAA,EAAA,+DAAA,EAAA,CAAA,EAAA,CAAA,EAAA,KAAA,EAAA,EAAA,CAAA,CAAA;QACxD,EAAM,CAAA,YAAA,EAAA,CAAA;;;;;;AApFyB,QAAA,EAAgB,CAAA,SAAA,CAAA,CAAA,CAAA,CAAA;AAAhB,QAAA,EAAgB,CAAA,iBAAA,CAAA,SAAA,CAAA,KAAA,CAAA,CAAA;AAE5B,QAAA,EAAmC,CAAA,SAAA,CAAA,CAAA,CAAA,CAAA;QAAnC,EAAmC,CAAA,UAAA,CAAA,MAAA,EAAA,SAAA,CAAA,IAAA,KAAA,aAAA,CAAA,CAAA;AAQnC,QAAA,EAA8B,CAAA,SAAA,CAAA,CAAA,CAAA,CAAA;QAA9B,EAA8B,CAAA,UAAA,CAAA,MAAA,EAAA,SAAA,CAAA,IAAA,KAAA,QAAA,CAAA,CAAA;AAQ9B,QAAA,EAAgC,CAAA,SAAA,CAAA,CAAA,CAAA,CAAA;QAAhC,EAAgC,CAAA,UAAA,CAAA,MAAA,EAAA,SAAA,CAAA,IAAA,KAAA,UAAA,CAAA,CAAA;AAShC,QAAA,EAAkC,CAAA,SAAA,CAAA,CAAA,CAAA,CAAA;QAAlC,EAAkC,CAAA,UAAA,CAAA,MAAA,EAAA,SAAA,CAAA,IAAA,KAAA,YAAA,CAAA,CAAA;AAOlC,QAAA,EAAuC,CAAA,SAAA,CAAA,CAAA,CAAA,CAAA;QAAvC,EAAuC,CAAA,UAAA,CAAA,MAAA,EAAA,SAAA,CAAA,IAAA,KAAA,iBAAA,CAAA,CAAA;AAUvC,QAAA,EAA4B,CAAA,SAAA,CAAA,CAAA,CAAA,CAAA;QAA5B,EAA4B,CAAA,UAAA,CAAA,MAAA,EAAA,SAAA,CAAA,IAAA,KAAA,MAAA,CAAA,CAAA;AAM5B,QAAA,EAA8B,CAAA,SAAA,CAAA,CAAA,CAAA,CAAA;QAA9B,EAA8B,CAAA,UAAA,CAAA,MAAA,EAAA,SAAA,CAAA,IAAA,KAAA,QAAA,CAAA,CAAA;AAM9B,QAAA,EAA6B,CAAA,SAAA,CAAA,CAAA,CAAA,CAAA;QAA7B,EAA6B,CAAA,UAAA,CAAA,MAAA,EAAA,SAAA,CAAA,IAAA,KAAA,OAAA,CAAA,CAAA;AA2BX,QAAA,EAAW,CAAA,SAAA,CAAA,CAAA,CAAA,CAAA;QAAX,EAAW,CAAA,UAAA,CAAA,MAAA,EAAA,CAAA,OAAA,CAAA,CAAA;;;;;AArFpD,QAAA,EAA6D,CAAA,uBAAA,CAAA,CAAA,CAAA,CAAA;AACzD,QAAA,EAqFM,CAAA,UAAA,CAAA,CAAA,EAAA,wDAAA,EAAA,EAAA,EAAA,EAAA,EAAA,KAAA,EAAA,EAAA,CAAA,CAAA;QACV,EAAe,CAAA,qBAAA,EAAA,CAAA;;;;AAtFU,QAAA,EAAoB,CAAA,SAAA,CAAA,CAAA,CAAA,CAAA;QAApB,EAAoB,CAAA,UAAA,CAAA,MAAA,EAAA,CAAA,SAAA,CAAA,MAAA,CAAA,CAAA;;;;;;QAdrD,EAAA,CAAA,cAAA,CAAA,CAAA,EAAA,KAAA,EAAA,CAAA,CAAiE,aAAA,CAAA,CAAA,EAAA,MAAA,CAAA,CAAA;AAEnD,QAAA,EAAO,CAAA,MAAA,CAAA,CAAA,EAAA,SAAA,CAAA,CAAA;QAAA,EAAO,CAAA,YAAA,EAAA,CAAA;QACpB,EAAyI,CAAA,cAAA,EAAA,CAAA;QAAzI,EAAyI,CAAA,cAAA,CAAA,CAAA,EAAA,KAAA,EAAA,CAAA,CAAA,CAAA;AAAjH,QAAA,EAAS,CAAA,UAAA,CAAA,OAAA,EAAA,SAAA,6DAAA,GAAA,EAAA,EAAA,CAAA,aAAA,CAAA,IAAA,CAAA,CAAA,CAAA,MAAA,OAAA,GAAA,EAAA,CAAA,aAAA,EAAA,CAAA,CAAA,OAAA,EAAA,CAAA,WAAA,CAAA,OAAY,CAAA,UAAA,EAAA,CAAA,CAAC,EAAA,CAAA,CAAA;QAC1C,EAAgC,CAAA,cAAA,CAAA,CAAA,EAAA,GAAA,EAAA,CAAA,CAAA,CAAA;QAChC,EAAwlB,CAAA,SAAA,CAAA,CAAA,EAAA,MAAA,EAAA,CAAA,CAAA,CAAA;AACxlB,QAAA,EAAA,CAAA,YAAA,EAAI,EAAA,EAAA,CAAA;QAIZ,EAAsC,CAAA,eAAA,EAAA,CAAA;QAAtC,EAA4C,CAAA,SAAA,CAAA,CAAA,EAAA,KAAA,EAAA,CAAA,CAAA,CAAA;QAE5C,EAA8C,CAAA,cAAA,CAAA,CAAA,EAAA,KAAA,EAAA,CAAA,CAAA,CAAA;AAC1C,QAAA,EAuFe,CAAA,UAAA,CAAA,CAAA,EAAA,kDAAA,EAAA,CAAA,EAAA,CAAA,EAAA,cAAA,EAAA,CAAA,CAAA,CAAA;QACnB,EAAM,CAAA,YAAA,EAAA,CAAA;AAEN,QAAA,EAAA,CAAA,cAAA,CAAA,EAAA,EAAA,KAAA,EAAA,CAAA,CAAqB,CAAA,EAAA,EAAA,YAAA,EAAA,EAAA,CAAA,CAAA;AACiD,QAAA,EAAS,CAAA,UAAA,CAAA,OAAA,EAAA,SAAA,gEAAA,GAAA,EAAA,EAAA,CAAA,aAAA,CAAA,IAAA,CAAA,CAAA,CAAA,MAAA,OAAA,GAAA,EAAA,CAAA,aAAA,EAAA,CAAA,CAAA,OAAA,EAAA,CAAA,WAAA,CAAA,OAAc,CAAA,YAAA,EAAA,CAAA,CAAC,EAAA,CAAA,CAAA;QAAC,EAAa,CAAA,YAAA,EAAA,CAAA;QACxG,EAAwH,CAAA,cAAA,CAAA,EAAA,EAAA,YAAA,EAAA,EAAA,CAAA,CAAA;AAAzD,QAAA,EAAS,CAAA,UAAA,CAAA,OAAA,EAAA,SAAA,gEAAA,GAAA,EAAA,EAAA,CAAA,aAAA,CAAA,IAAA,CAAA,CAAA,CAAA,MAAA,OAAA,GAAA,EAAA,CAAA,aAAA,EAAA,CAAA,CAAA,OAAA,EAAA,CAAA,WAAA,CAAA,OAAc,CAAA,YAAA,EAAA,CAAA,CAAC,EAAA,CAAA,CAAA;AAAiC,QAAA,EAAA,CAAA,YAAA,EAAa,EAAA,EAAA,CAAA;;;;AAzG5F,QAAA,EAAe,CAAA,UAAA,CAAA,iBAAA,EAAA,SAAA,CAAA,CAAA;AAYvC,QAAA,EAAwB,CAAA,SAAA,CAAA,CAAA,CAAA,CAAA;QAAxB,EAAwB,CAAA,UAAA,CAAA,WAAA,EAAA,MAAA,CAAA,UAAA,CAAA,CAAA;AACR,QAAA,EAAW,CAAA,SAAA,CAAA,CAAA,CAAA,CAAA;QAAX,EAAW,CAAA,UAAA,CAAA,SAAA,EAAA,MAAA,CAAA,MAAA,CAAA,CAAA;AA2FhC,QAAA,EAAoB,CAAA,SAAA,CAAA,CAAA,CAAA,CAAA;AAApB,QAAA,EAAA,CAAA,UAAA,CAAA,MAAA,EAAA,WAAA,CAAoB,iBAAA,CAAA,MAAA,EAAA,MAAA,CAAA,CAAA;AACpB,QAAA,EAAgB,CAAA,SAAA,CAAA,CAAA,CAAA,CAAA;QAAhB,EAAgB,CAAA,UAAA,CAAA,MAAA,EAAA,OAAA,CAAA,CAAA,MAAA,EAAA,OAAA,CAAA,iBAAA,CAAA,UAAA,EAAA,MAAA,CAAA,UAAA,CAAA,OAAA,CAAA,CAAA;;;MCrEvB,oBAAoB,CAAA;AAC/B,IAAA,WAAA,CAAoB,QAAsB,EAAA;AAAtB,QAAA,IAAQ,CAAA,QAAA,GAAR,QAAQ,CAAc;AAEhC,QAAA,IAAA,CAAA,OAAO,GAAG,IAAI,YAAY,EAAE,CAAC;AAC7B,QAAA,IAAA,CAAA,OAAO,GAAG,IAAI,YAAY,EAAE,CAAC;AAC9B,QAAA,IAAM,CAAA,MAAA,GAAwB,EAAE,CAAC;AACjC,QAAA,IAAgC,CAAA,gCAAA,GAAY,KAAK,CAAC;QAC3D,IAAA,CAAA,UAAU,GAAc,IAAI,SAAS,CAAC,EAAE,CAAC,CAAC;QAM1C,IAAA,CAAA,sBAAsB,GAA0B;AAC9C,YAAA,SAAS,EAAE,EAAE;AACb,YAAA,OAAO,EAAE,EAAE;SACZ,CAAC;KAf2C;IAiB7C,QAAQ,GAAA;QACN,IAAI,CAAC,sBAAsB,EAAE,CAAC;KAC/B;AAED,IAAA,WAAW,CAAC,OAAsB,EAAA;QAChC,IAAG,OAAO,CAAC,MAAM,IAAI,CAAC,OAAO,CAAC,MAAM,CAAC,WAAW,EAAC;AAC/C,YAAA,IAAI,CAAC,cAAc,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC;AAClC,SAAA;KACF;IAED,sBAAsB,GAAA;QACpB,IAAI,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC,MAAyB,KAAI;AAChD,YAAA,IAAI,OAAY,CAAC;AACjB,YAAA,IAAI,MAAM,CAAC,IAAI,KAAK,OAAO,EAAE;gBAC3B,OAAO,GAAG,IAAI,SAAS,CAAC;AACtB,oBAAA,GAAG,EAAE,IAAI,WAAW,CAAC,IAAI,CAAC;AAC1B,oBAAA,GAAG,EAAE,IAAI,WAAW,CAAC,IAAI,CAAC;iBAC3B,EAAE;AACD,oBAAA,UAAU,EAAE,CAAC,KAAgB,KAAI;wBAC/B,MAAM,GAAG,GAAG,KAAK,CAAC,GAAG,CAAC,KAAK,CAAC,CAAC,KAAK,CAAC;wBACnC,MAAM,GAAG,GAAG,KAAK,CAAC,GAAG,CAAC,KAAK,CAAC,CAAC,KAAK,CAAC;wBACnC,IAAI,GAAG,KAAK,IAAI,IAAI,GAAG,KAAK,IAAI,IAAI,GAAG,GAAG,GAAG,EAAE;AAC7C,4BAAA,OAAO,EAAE,UAAU,EAAE,yCAAyC,EAAE,CAAC;AAClE,yBAAA;AACD,wBAAA,OAAO,IAAI,CAAC;qBACb;AACF,iBAAA,CAAC,CAAC;AACJ,aAAA;iBAAM,IAAI,MAAM,CAAC,IAAI,KAAK,aAAa,IAAI,MAAM,CAAC,IAAI,KAAK,UAAU,EAAE;AACtE,gBAAA,OAAO,GAAG,IAAI,WAAW,CAAC,EAAE,CAAC,CAAC;AAC/B,aAAA;AAAM,iBAAA,IAAI,MAAM,CAAC,IAAI,KAAK,QAAQ,EAAE;AACnC,gBAAA,OAAO,GAAG,IAAI,WAAW,CAAC,EAAE,CAAC,CAAC;AAC/B,aAAA;AAAM,iBAAA;AACL,gBAAA,OAAO,GAAG,IAAI,WAAW,CAAC,IAAI,CAAC,CAAC;AACjC,aAAA;YACD,IAAG,IAAI,CAAC,QAAQ,CAAC,SAAS,CAAC,MAAM,CAAC,YAAY,CAAC,EAAC;AAC9C,gBAAA,OAAO,CAAC,QAAQ,CAAC,MAAM,CAAC,YAAY,CAAC,CAAC;AACvC,aAAA;YACD,IAAI,CAAC,UAAU,CAAC,UAAU,CAAC,MAAM,CAAC,GAAG,EAAE,OAAO,CAAC,CAAC;AAClD,SAAC,CAAC,CAAC;KACJ;IAED,UAAU,GAAA;QACR,IAAG,IAAI,CAAC,eAAe,EAAC;YACtB,IAAI,CAAC,UAAU,CAAC,QAAQ,CAAC,IAAI,CAAC,eAAe,CAAC,CAAC;AAChD,SAAA;AAAM,aAAA;YACL,IAAI,CAAC,eAAe,EAAE,CAAC;AACxB,SAAA;AACD,QAAA,IAAI,CAAC,OAAO,CAAC,IAAI,EAAE,CAAC;KACrB;IAED,WAAW,GAAA;QACT,IAAI,KAAK,GAAG,CAAC,CAAC;QACd,IAAI,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC,MAAyB,KAAI;AAChD,YAAA,IAAG,IAAI,CAAC,QAAQ,CAAC,SAAS,CAAC,IAAI,CAAC,UAAU,CAAC,GAAG,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC,KAAK,CAAC,EAAC;AAChE,gBAAA,IAAG,MAAM,CAAC,IAAI,KAAK,OAAO,IAAI,IAAI,CAAC,UAAU,CAAC,GAAG,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC,KAAK,CAAC,GAAG,IAAI,IAAI,IAAI,IAAI,CAAC,UAAU,CAAC,GAAG,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC,KAAK,CAAC,GAAG,IAAI,IAAI,EAAC;oBACnI,OAAO;AACR,iBAAA;AACD,gBAAA,KAAK,EAAE,CAAC;AACT,aAAA;AACH,SAAC,CAAC,CAAC;AACH,QAAA,OAAO,KAAK,CAAC;KACd;IAED,YAAY,GAAA;AACV,QAAA,IAAI,IAAI,CAAC,UAAU,CAAC,OAAO,EAAE;AAC3B,YAAA,IAAI,CAAC,UAAU,CAAC,gBAAgB,EAAE,CAAC;YACnC,OAAO;AACR,SAAA;QAED,IAAI,CAAC,eAAe,GAAO,MAAA,CAAA,MAAA,CAAA,EAAA,EAAA,IAAI,CAAC,UAAU,CAAC,KAAK,CAAC,CAAC;AAClD,QAAA,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC;AAChB,YAAA,UAAU,EAAE,IAAI,CAAC,UAAU,CAAC,KAAK;AACjC,YAAA,WAAW,EAAE,IAAI,CAAC,WAAW,EAAE;AAChC,SAAA,CAAC,CAAC;AACH,QAAA,IAAI,CAAC,IAAI,GAAG,KAAK,CAAC;QAClB,IAAI,CAAC,UAAU,EAAE,CAAC;KACnB;AAED,IAAA,YAAY,CAAC,KAAU,EAAE,SAAiB,EAAE,MAAyB,EAAA;AACnE,QAAA,IAAI,CAAC,UAAU,CAAC,GAAG,CAAC,SAAS,CAAC,CAAC,QAAQ,CAAC,KAAK,CAAC,CAAC;QAC/C,IAAG,MAAM,CAAC,QAAQ,EAAC;YACjB,MAAM,CAAC,QAAQ,CAAC,KAAK,EAAE,IAAI,CAAC,MAAM,CAAC,CAAC;AACrC,SAAA;KACF;AAED,IAAA,YAAY,CAAC,KAAU,EAAE,SAAiB,EAAE,MAAyB,EAAA;AACnE,QAAA,IAAI,CAAC,UAAU,CAAC,GAAG,CAAC,SAAS,CAAC,CAAC,QAAQ,CAAC,KAAK,CAAC,CAAC;AAC/C,QAAA,IAAG,OAAO,KAAK,KAAK,QAAQ,EAAC;YAC3B,IAAI,CAAC,sBAAsB,GAAG;gBAC5B,SAAS,EAAE,KAAK,CAAC,SAAS;gBAC1B,OAAO,EAAE,KAAK,CAAC,OAAO;aACvB,CAAC;AACJ,SAAA;AAAM,aAAA;AACJ,YAAA,OAAO,CAAC,GAAG,CAAC,IAAI,CAAC,UAAU,CAAC,GAAG,CAAC,SAAS,CAAC,CAAC,KAAK,CAAC,CAAC;AACpD,SAAA;KACD;AAED,IAAA,cAAc,CAAC,KAAU,EAAE,SAAiB,EAAE,aAAqB,EAAE,MAAyB,EAAA;QAC5F,IAAG,KAAK,CAAC,KAAK,EAAC;YACb,IAAI,CAAC,UAAU,CAAC,GAAG,CAAC,SAAS,CAAC,CAAC,QAAQ,CAAC,CAAC,GAAG,IAAI,CAAC,UAAU,CAAC,GAAG,CAAC,SAAS,CAAC,CAAC,KAAK,EAAE,aAAa,CAAC,CAAC,CAAC;AACnG,SAAA;AAAM,aAAA;AACL,YAAA,MAAM,WAAW,GAAG,IAAI,CAAC,UAAU,CAAC,GAAG,CAAC,SAAS,CAAC,CAAC,KAAK,CAAC;YACzD,IAAI,CAAC,UAAU,CAAC,GAAG,CAAC,SAAS,CAAC,CAAC,QAAQ,CAAC,WAAW,CAAC,MAAM,CAAC,CAAC,KAAa,KAAK,KAAK,KAAK,aAAa,CAAC,CAAC,CAAC;AACzG,SAAA;QACD,IAAG,MAAM,CAAC,QAAQ,EAAC;AACjB,YAAA,MAAM,CAAC,QAAQ,CAAC,KAAK,EAAE,IAAI,CAAC,MAAM,EAAE,IAAI,CAAC,UAAU,CAAC,KAAK,CAAC,CAAC;AAC5D,SAAA;KACF;IAED,eAAe,GAAA;QACb,MAAM,WAAW,GAAQ,EAAE,CAAC;QAC5B,IAAI,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC,MAAyB,KAAI;AAChD,YAAA,IAAI,YAAY,GAAQ,MAAM,CAAC,YAAY,IAAI,IAAI,CAAC;YACpD,IAAI,MAAM,CAAC,IAAI,KAAK,aAAa,IAAI,MAAM,CAAC,IAAI,KAAK,UAAU,EAAE;AAC/D,gBAAA,YAAY,GAAG,MAAM,CAAC,YAAY,IAAI,EAAE,CAAC;AAC1C,aAAA;AACD,YAAA,IAAG,MAAM,CAAC,IAAI,KAAK,OAAO,EAAC;AACzB,gBAAA,YAAY,GAAG,MAAM,CAAC,YAAY,IAAI,EAAE,GAAG,EAAE,IAAI,EAAE,GAAG,EAAE,IAAI,EAAE,CAAC;AAChE,aAAA;AACD,YAAA,WAAW,CAAC,MAAM,CAAC,GAAG,CAAC,GAAG,YAAY,CAAC;AACzC,SAAC,CAAC,CAAC;AACH,QAAA,IAAI,CAAC,UAAU,CAAC,UAAU,CAAC,WAAW,CAAC,CAAC;KACzC;IAED,YAAY,GAAA;QACV,IAAI,CAAC,eAAe,EAAE,CAAC;QACvB,IAAI,CAAC,YAAY,EAAE,CAAC;KACrB;AAED,IAAA,cAAc,CAAC,MAA2B,EAAA;QACzC,IAAI,WAAW,GAAG,KAAK,CAAC;AACxB,QAAA,KAAI,MAAM,MAAM,IAAI,MAAM,EAAC;AAC1B,YAAA,IAAG,MAAM,KAAN,IAAA,IAAA,MAAM,uBAAN,MAAM,CAAE,aAAa,EAAC;AACvB,gBAAA,IAAI,CAAC,UAAU,CAAC,GAAG,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC,QAAQ,CAAC,MAAM,CAAC,aAAa,CAAC,CAAC;gBAC/D,WAAW,GAAG,IAAI,CAAC;AACpB,aAAA;AACD,SAAA;AACD,QAAA,IAAG,WAAW,IAAI,IAAI,CAAC,gCAAgC,EAAC;YACvD,IAAI,CAAC,YAAY,EAAE,CAAC;AACpB,SAAA;KACD;;wFA9JU,oBAAoB,EAAA,EAAA,CAAA,iBAAA,CAAAA,YAAA,CAAA,CAAA,CAAA,EAAA,CAAA;uEAApB,oBAAoB,EAAA,SAAA,EAAA,CAAA,CAAA,kBAAA,CAAA,CAAA,EAAA,MAAA,EAAA,EAAA,IAAA,EAAA,MAAA,EAAA,MAAA,EAAA,QAAA,EAAA,gCAAA,EAAA,kCAAA,EAAA,EAAA,OAAA,EAAA,EAAA,OAAA,EAAA,SAAA,EAAA,OAAA,EAAA,SAAA,EAAA,EAAA,QAAA,EAAA,CAAA,EAAA,CAAA,oBAAA,CAAA,EAAA,KAAA,EAAA,CAAA,EAAA,IAAA,EAAA,CAAA,EAAA,MAAA,EAAA,CAAA,CAAA,OAAA,EAAA,wBAAA,EAAA,CAAA,EAAA,MAAA,CAAA,EAAA,CAAA,CAAA,EAAA,wBAAA,CAAA,EAAA,CAAA,CAAA,EAAA,cAAA,CAAA,EAAA,CAAA,OAAA,EAAA,IAAA,EAAA,QAAA,EAAA,IAAA,EAAA,SAAA,EAAA,WAAA,EAAA,MAAA,EAAA,MAAA,EAAA,OAAA,EAAA,4BAAA,EAAA,CAAA,EAAA,YAAA,EAAA,CAAA,EAAA,OAAA,CAAA,EAAA,CAAA,IAAA,EAAA,yBAAA,CAAA,EAAA,CAAA,IAAA,EAAA,OAAA,EAAA,WAAA,EAAA,SAAA,EAAA,WAAA,EAAA,SAAA,EAAA,GAAA,EAAA,4gBAAA,EAAA,MAAA,EAAA,SAAA,CAAA,EAAA,CAAA,CAAA,EAAA,oBAAA,EAAA,OAAA,CAAA,EAAA,CAAA,CAAA,EAAA,SAAA,EAAA,CAAA,EAAA,WAAA,CAAA,EAAA,CAAA,CAAA,EAAA,OAAA,EAAA,SAAA,CAAA,EAAA,CAAA,CAAA,EAAA,SAAA,CAAA,EAAA,CAAA,CAAA,EAAA,MAAA,EAAA,MAAA,EAAA,MAAA,EAAA,OAAA,CAAA,EAAA,CAAA,CAAA,EAAA,MAAA,EAAA,MAAA,EAAA,MAAA,EAAA,UAAA,EAAA,OAAA,CAAA,EAAA,CAAA,OAAA,EAAA,QAAA,EAAA,CAAA,EAAA,MAAA,CAAA,EAAA,CAAA,CAAA,EAAA,QAAA,CAAA,EAAA,CAAA,CAAA,EAAA,cAAA,CAAA,EAAA,CAAA,CAAA,EAAA,MAAA,CAAA,EAAA,CAAA,OAAA,EAAA,oBAAA,EAAA,CAAA,EAAA,MAAA,CAAA,EAAA,CAAA,CAAA,EAAA,oBAAA,CAAA,EAAA,CAAA,OAAA,EAAA,MAAA,EAAA,QAAA,EAAA,MAAA,EAAA,CAAA,EAAA,YAAA,EAAA,CAAA,EAAA,OAAA,EAAA,eAAA,EAAA,MAAA,EAAA,eAAA,EAAA,mBAAA,EAAA,iBAAA,EAAA,iBAAA,EAAA,UAAA,CAAA,EAAA,CAAA,OAAA,EAAA,MAAA,EAAA,QAAA,EAAA,MAAA,EAAA,CAAA,EAAA,MAAA,EAAA,eAAA,EAAA,cAAA,EAAA,UAAA,CAAA,EAAA,CAAA,CAAA,EAAA,cAAA,CAAA,EAAA,CAAA,OAAA,EAAA,oBAAA,EAAA,CAAA,EAAA,OAAA,EAAA,SAAA,CAAA,EAAA,CAAA,CAAA,EAAA,oBAAA,CAAA,EAAA,CAAA,CAAA,EAAA,MAAA,EAAA,SAAA,EAAA,aAAA,CAAA,EAAA,CAAA,CAAA,EAAA,gBAAA,CAAA,EAAA,CAAA,MAAA,EAAA,SAAA,CAAA,EAAA,CAAA,SAAA,EAAA,EAAA,EAAA,UAAA,EAAA,EAAA,EAAA,MAAA,EAAA,MAAA,EAAA,UAAA,EAAA,EAAA,EAAA,CAAA,EAAA,WAAA,EAAA,CAAA,EAAA,UAAA,EAAA,aAAA,EAAA,OAAA,EAAA,cAAA,EAAA,WAAA,EAAA,SAAA,EAAA,YAAA,CAAA,EAAA,CAAA,UAAA,EAAA,EAAA,EAAA,UAAA,EAAA,EAAA,EAAA,MAAA,EAAA,MAAA,EAAA,UAAA,EAAA,EAAA,EAAA,CAAA,EAAA,WAAA,EAAA,CAAA,EAAA,aAAA,EAAA,OAAA,EAAA,WAAA,EAAA,WAAA,EAAA,eAAA,EAAA,UAAA,EAAA,YAAA,CAAA,EAAA,CAAA,UAAA,EAAA,EAAA,EAAA,MAAA,EAAA,MAAA,EAAA,CAAA,EAAA,OAAA,EAAA,CAAA,EAAA,aAAA,EAAA,iBAAA,CAAA,EAAA,CAAA,UAAA,EAAA,EAAA,EAAA,MAAA,EAAA,QAAA,EAAA,CAAA,EAAA,OAAA,EAAA,CAAA,EAAA,aAAA,EAAA,iBAAA,CAAA,EAAA,CAAA,CAAA,EAAA,iBAAA,EAAA,CAAA,EAAA,WAAA,CAAA,EAAA,CAAA,CAAA,EAAA,uBAAA,CAAA,EAAA,CAAA,UAAA,EAAA,EAAA,EAAA,MAAA,EAAA,QAAA,EAAA,iBAAA,EAAA,KAAA,EAAA,CAAA,EAAA,OAAA,EAAA,CAAA,EAAA,aAAA,CAAA,EAAA,CAAA,UAAA,EAAA,EAAA,EAAA,MAAA,EAAA,QAAA,EAAA,iBAAA,EAAA,KAAA,EAAA,CAAA,EAAA,OAAA,EAAA,CAAA,EAAA,aAAA,EAAA,KAAA,CAAA,EAAA,CAAA,CAAA,EAAA,oBAAA,CAAA,CAAA,EAAA,QAAA,EAAA,SAAA,6BAAA,CAAA,EAAA,EAAA,GAAA,EAAA;QAAA,IAAA,EAAA,GAAA,CAAA,EAAA;ADpCjC,YAAA,EA2GM,CAAA,UAAA,CAAA,CAAA,EAAA,mCAAA,EAAA,EAAA,EAAA,EAAA,EAAA,KAAA,EAAA,CAAA,CAAA,CAAA;;;YA3G+B,EAAU,CAAA,UAAA,CAAA,MAAA,EAAA,GAAA,CAAA,IAAA,CAAA,CAAA;AC+BjC,SAAA;AAAA,KAAA,EAAA,YAAA,EAAA,CAAA,EAAA,CAAA,OAAA,EAAA,EAAA,CAAA,IAAA,EAAA,EAAA,CAAA,eAAA,EAAA,EAAA,CAAA,oBAAA,EAAA,EAAA,CAAA,mBAAA,EAAA,EAAA,CAAA,eAAA,EAAA,EAAA,CAAA,oBAAA,EAAA,EAAA,CAAA,YAAA,EAAA,EAAA,CAAA,kBAAA,EAAA,EAAA,CAAA,eAAA,EAAA,EAAA,CAAA,4BAAA,EAAA,EAAA,CAAA,iBAAA,EAAA,EAAA,CAAA,iBAAA,EAAA,EAAA,CAAA,iBAAA,EAAA,EAAA,CAAA,qBAAA,EAAA,EAAA,CAAA,0BAAA,EAAA,GAAA,CAAA,iBAAA,CAAA,EAAA,MAAA,EAAA,CAAA,+kHAAA,CAAA,EAAA,IAAA,EAAA,EAAA,SAAA,EAAA,CAAC,cAAc,CAAC,EAAA,EAAA,CAAA,CAAA;;4EAKjB,oBAAoB,EAAA,CAAA;kBAThC,SAAS;+BACE,kBAAkB,EAAA,UAAA,EAGhB,CAAC,cAAc,CAAC,EAAA,QAAA,EAAA,6qOAAA,EAAA,MAAA,EAAA,CAAA,k4EAAA,CAAA,EAAA,CAAA;gEAOnB,IAAI,EAAA,CAAA;sBAAZ,KAAK;gBACI,OAAO,EAAA,CAAA;sBAAhB,MAAM;gBACG,OAAO,EAAA,CAAA;sBAAhB,MAAM;gBACE,MAAM,EAAA,CAAA;sBAAd,KAAK;gBACG,gCAAgC,EAAA,CAAA;sBAAxC,KAAK;;;;MCRK,aAAa,CAAA;;0EAAb,aAAa,GAAA,CAAA,EAAA,CAAA;+DAAb,aAAa,EAAA,CAAA,CAAA;AALb,aAAA,CAAA,IAAA,iBAAA,EAAA,CAAA,gBAAA,CAAA,EAAA,SAAA,EAAA;QACT,YAAY;KACb,EAAA,OAAA,EAAA,CAfC,YAAY;QACZ,YAAY;QACZ,WAAW;QACX,mBAAmB;QACnB,yBAAyB;QACzB,cAAc;QACd,iBAAiB;QACjB,cAAc;QACd,kBAAkB;QAClB,uBAAuB;QACvB,cAAc,CAAA,EAAA,CAAA,CAAA;;4EAQL,aAAa,EAAA,CAAA;kBApBzB,QAAQ;AAAC,YAAA,IAAA,EAAA,CAAA;AACR,oBAAA,OAAO,EAAE;wBACP,YAAY;wBACZ,YAAY;wBACZ,WAAW;wBACX,mBAAmB;wBACnB,yBAAyB;wBACzB,cAAc;wBACd,iBAAiB;wBACjB,cAAc;wBACd,kBAAkB;wBAClB,uBAAuB;wBACvB,cAAc;AACf,qBAAA;AACD,oBAAA,YAAY,EAAE,CAAC,oBAAoB,EAAE,YAAY,CAAC;AAClD,oBAAA,SAAS,EAAE;wBACT,YAAY;AACb,qBAAA;oBACD,OAAO,EAAE,CAAC,oBAAoB,CAAC;iBAChC,CAAA;;;AACY,CAAA,YAAA;IAAA,CAAA,OAAA,SAAA,KAAA,WAAA,IAAA,SAAA,KAAA,EAAA,CAAA,kBAAA,CAAA,aAAa,EANT,EAAA,YAAA,EAAA,CAAA,oBAAoB,EAAE,YAAY,aAZ/C,YAAY;YACZ,YAAY;YACZ,WAAW;YACX,mBAAmB;YACnB,yBAAyB;YACzB,cAAc;YACd,iBAAiB;YACjB,cAAc;YACd,kBAAkB;YAClB,uBAAuB;YACvB,cAAc,aAMN,oBAAoB,CAAA,EAAA,CAAA,CAAA;AAAA,CAAA,GAAA;;AChChC;;AAEG;;;;"}
|
|
@@ -981,11 +981,11 @@ TableComponent.ɵcmp = /*@__PURE__*/ i0.ɵɵdefineComponent({ type: TableCompone
|
|
|
981
981
|
i0.ɵɵadvance(1);
|
|
982
982
|
i0.ɵɵproperty("ngIf", (ctx.config == null ? null : ctx.config.paginationConfig) && (ctx.tableLength >= ctx.config.paginationConfig.rowsPerPage || (ctx.config.paginationConfig == null ? null : ctx.config.paginationConfig.selectedPage) !== 1));
|
|
983
983
|
}
|
|
984
|
-
}, dependencies: [i1.NgClass, i1.NgForOf, i1.NgIf, i1.NgStyle, SubTableComponent, TableFilterComponent, CustomTableCellDirective], styles: ["#main-container[_ngcontent-%COMP%]{font-family:Lato,sans-serif;position:relative}.no-scrollbar[_ngcontent-%COMP%]::-webkit-scrollbar{width:0}.scrollbar[_ngcontent-%COMP%]::-webkit-scrollbar{width:8px;height:8px;border-radius:15px}.scrollbar[_ngcontent-%COMP%]::-webkit-scrollbar-thumb{background:#9aa7b4;border-radius:15px}#table-container[_ngcontent-%COMP%]{height:inherit;overflow-y:auto}.scroll-horizontally[_ngcontent-%COMP%]{height:inherit;width
|
|
984
|
+
}, dependencies: [i1.NgClass, i1.NgForOf, i1.NgIf, i1.NgStyle, SubTableComponent, TableFilterComponent, CustomTableCellDirective], styles: ["#main-container[_ngcontent-%COMP%]{font-family:Lato,sans-serif;position:relative}.no-scrollbar[_ngcontent-%COMP%]::-webkit-scrollbar{width:0}.scrollbar[_ngcontent-%COMP%]::-webkit-scrollbar{width:8px;height:8px;border-radius:15px}.scrollbar[_ngcontent-%COMP%]::-webkit-scrollbar-thumb{background:#9aa7b4;border-radius:15px}#table-container[_ngcontent-%COMP%]{height:inherit;overflow-y:auto}.scroll-horizontally[_ngcontent-%COMP%]{height:inherit;width:fit-content;overflow-y:unset!important;overflow-x:visible}#col-headers-container[_ngcontent-%COMP%]{display:flex;align-items:center;position:sticky;background-color:#fff;width:100%;z-index:1;min-height:44px;border-bottom:1px solid #e0e0e0;top:0;left:0;right:0}.col-header[_ngcontent-%COMP%]{padding:0 16px;display:flex;align-items:center;height:100%}.col-header-text[_ngcontent-%COMP%]{font-style:normal;font-weight:700;line-height:20px;display:flex;align-items:center;letter-spacing:.2px;margin:0}.filter-icon[_ngcontent-%COMP%]{margin-left:8px;padding:0 8px;position:relative;cursor:pointer}#filter-active[_ngcontent-%COMP%]{height:8px;width:8px;background:#16cbbc;border-radius:50%;position:absolute;top:4px;right:4px}.sub-row[_ngcontent-%COMP%]{height:auto;border-bottom:none}.loader[_ngcontent-%COMP%] .mat-progress-spinner circle, .mat-spinner[_ngcontent-%COMP%] circle[_ngcontent-%COMP%]{stroke:#0937b2}.t-row[_ngcontent-%COMP%]{display:flex;min-height:44px;background-color:#fff;width:100%;border-bottom:1px solid #e0e0e0}.t-row[_ngcontent-%COMP%]:hover{background-color:#e7eefd}.active-row[_ngcontent-%COMP%]{background-color:#e6f6fd}.t-col-container[_ngcontent-%COMP%]{padding:0 16px}.t-row-hover[_ngcontent-%COMP%]:hover{background-color:#0000}.t-col-container-hover[_ngcontent-%COMP%]:hover{background-color:#e6ebf7}.t-col-container-hover[_ngcontent-%COMP%]:first-child{border-left:1px solid #e0e0e0}.t-col-container-hover[_ngcontent-%COMP%]{border-right:1px solid #e0e0e0}.t-col[_ngcontent-%COMP%]{display:flex;align-items:center;height:100%}.t-col-text[_ngcontent-%COMP%]{font-style:normal;font-weight:400;font-size:14px;line-height:20px;display:flex;align-items:center;letter-spacing:.2px;margin:0}#pagination-container[_ngcontent-%COMP%]{display:flex;justify-content:flex-end;align-items:center;height:56px}#pagination-text[_ngcontent-%COMP%]{font-style:normal;font-weight:400;font-size:12px;line-height:18px;letter-spacing:.4px;color:#6a737d;margin:0 96px 0 0}#pages-container[_ngcontent-%COMP%]{display:flex;margin-right:32px}.page[_ngcontent-%COMP%]{display:flex;justify-content:center;align-items:center;border:1px solid #6a737d;box-sizing:border-box;border-radius:4px;width:32px;height:32px;font-size:14px;line-height:20px;letter-spacing:.2px;color:#6a737d;margin-right:8px;cursor:pointer}.page-seperator[_ngcontent-%COMP%]{display:flex;justify-content:center;align-items:center;width:32px;height:32px;margin-right:8px}.dot[_ngcontent-%COMP%]{height:3px;width:3px;border-radius:50%;background:#6a737d}.page-active[_ngcontent-%COMP%]{color:#0937b2;border:1px solid #0937b2}"] });
|
|
985
985
|
(function () {
|
|
986
986
|
(typeof ngDevMode === "undefined" || ngDevMode) && i0.ɵsetClassMetadata(TableComponent, [{
|
|
987
987
|
type: Component,
|
|
988
|
-
args: [{ selector: "mis-table", template: "<div\n [ngStyle]=\"{\n height: getContainerHeight(),\n width: getContainerWidth(),\n 'overflow-x': config.canScrollHorizontally ? 'auto' : 'unset'\n }\"\n id=\"main-container\"\n>\n <mis-table-filter\n #filter\n (filtersApplied)=\"updateAppliedFilters($event)\"\n *ngIf=\"showFilter\"\n [containerStyles]=\"filterContainerStyles\"\n [filtersData]=\"filterData\"\n ></mis-table-filter>\n <div\n #table\n id=\"table-container\"\n [ngClass]=\"{ 'no-scrollbar': expandedIndex < 0, scrollbar: !(expandedIndex < 0), 'scroll-horizontally': config.canScrollHorizontally }\"\n >\n <div\n [ngStyle]=\"getColHeadersRowStyles()\"\n id=\"col-headers-container\"\n >\n <div\n #colHeaderRef\n (click)=\"colHeader?.action ? colHeader?.action(colHeader) : null\"\n *ngFor=\"let colHeader of config?.colHeaderConfig\"\n class=\"col-header\"\n [ngStyle]=\"{\n width: colHeader?.style?.width || '',\n cursor: colHeader.action ? 'pointer' : 'default',\n 'justify-content': colHeader?.style?.justifyContent\n ? colHeader?.style?.justifyContent\n : colHeader.type === 'number'\n ? 'flex-end'\n : 'space-between'\n }\"\n >\n <p *ngIf=\"colHeader?.type !== 'custom'\" class=\"col-header-text\">\n {{ colHeader?.data || \" \" }}\n </p>\n <span\n (click)=\"filterData = colHeader.filters; toggleFilter(colHeader.data); $event.stopPropagation()\"\n *ngIf=\"colHeader?.type !== 'custom' && colHeader?.filters && colHeader?.filters?.length > 0\"\n class=\"filter-icon\"\n >\n <span *ngIf=\"appliedFilters[colHeader.data]?.length > 0\" id=\"filter-active\"></span>\n <svg fill=\"none\" height=\"10\" viewBox=\"0 0 13 10\" width=\"13\" xmlns=\"http://www.w3.org/2000/svg\">\n <path\n clip-rule=\"evenodd\"\n d=\"M4.97546 10H7.64213V8H4.97546V10ZM0.308472 0V2H12.3085V0H0.308472ZM2.30847 6H10.3085V4H2.30847V6Z\"\n fill=\"#181F33\"\n fill-rule=\"evenodd\"\n />\n </svg>\n </span>\n <ng-template\n *ngIf=\"colHeader?.type === 'custom'\"\n [customComponent]=\"colHeader?.componentRef\"\n [data]=\"colHeader.data\"\n customTableCell\n ></ng-template>\n </div>\n </div>\n <div id=\"data-container\">\n <div class=\"row-wrapper\" *ngFor=\"let row of tableData; let i = index\">\n <div\n class=\"t-row\"\n [ngClass]=\"{ 't-row-hover': config.cellHover, 'active-row': i === activeRowIndex }\"\n [ngStyle]=\"{ 'min-height': config?.rowConfig?.height ? config.rowConfig.height : '44px' }\"\n (click)=\"selectRow(i)\"\n >\n <div\n (click)=\"config?.colConfig[i]?.action ? config?.colConfig[i]?.action(col) : null\"\n *ngFor=\"let col of row; let i = index\"\n [ngStyle]=\"{\n width: config?.colConfig[i]?.style?.width || config?.colHeaderConfig[i]?.style?.width || ''\n }\"\n class=\"t-col-container\"\n [ngClass]=\"{ 't-col-container-hover': config.cellHover }\"\n >\n <div\n class=\"t-col\"\n [style]=\"config.colConfig[i]?.style\"\n [ngStyle]=\"{\n width: '100%',\n cursor: config.colConfig[i]?.action ? 'pointer' : 'default',\n 'justify-content': config.colConfig[i]?.style?.justifyContent\n ? config.colConfig[i]?.style?.justifyContent\n : config.colConfig[i]?.type === 'number'\n ? 'flex-end'\n : 'space-between'\n }\"\n >\n <p\n *ngIf=\"config.colConfig[i]?.type !== 'custom'\"\n [ngStyle]=\"{\n color: config?.colConfig[i]?.style?.color ? config?.colConfig[i]?.style?.color : ''\n }\"\n class=\"t-col-text\"\n >\n {{ col }}\n </p>\n <ng-template\n *ngIf=\"config.colConfig[i]?.type === 'custom'\"\n [customComponent]=\"config.colConfig[i].componentRef\"\n [data]=\"col\"\n customTableCell\n ></ng-template>\n </div>\n </div>\n </div>\n <div *ngIf=\"config?.canExpand && expandedIndex === i\" class=\"sub-row\">\n <ng-container *ngIf=\"subTableDataLoading\">\n <div [ngStyle]=\"{\n display: 'flex',\n justifyContent: 'center',\n alignItems: 'center',\n padding: '16px'\n }\">\n Loading...\n </div>\n </ng-container>\n \n <ng-container *ngIf=\"!subTableDataLoading && subTableData.length === 0\">\n <div [ngStyle]=\"{\n display: 'flex',\n justifyContent: 'center',\n alignItems: 'center',\n padding: '16px'\n }\">\n No Data Available...\n </div>\n </ng-container>\n \n <ng-container *ngIf=\"!subTableDataLoading && subTableData.length > 0\">\n <sub-table [config]=\"subTableconfig\" [tableData]=\"subTableData\"></sub-table>\n </ng-container>\n </div>\n </div>\n </div>\n </div>\n <div\n *ngIf=\"config?.paginationConfig && (tableLength >= config.paginationConfig.rowsPerPage || config.paginationConfig?.selectedPage !== 1)\"\n id=\"pagination-container\"\n >\n <p id=\"pagination-text\">\n Showing\n {{ (config.paginationConfig?.selectedPage - 1) * config.paginationConfig.rowsPerPage + 1 }}-{{\n (config.paginationConfig?.selectedPage - 1) * config.paginationConfig.rowsPerPage + tableLength\n }}\n of {{ config.paginationConfig.totalNoOfRows }} items\n </p>\n <div id=\"pages-container\">\n <span (click)=\"updateSelectedPage(config.paginationConfig?.selectedPage - 1)\" class=\"page\">\n <svg fill=\"none\" height=\"10\" viewBox=\"0 0 7 10\" width=\"7\" xmlns=\"http://www.w3.org/2000/svg\">\n <path\n clip-rule=\"evenodd\"\n d=\"M0.857405 5.56295C0.855794 5.56139 0.854188 5.55982 0.852588 5.55824C0.695955 5.40408 0.617641 5.20203 0.617647 4.99998C0.617641 4.79793 0.695955 4.59588 0.852588 4.44172C0.854188 4.44014 0.855794 4.43858 0.857404 4.43702L5.13066 0.231231C5.44392 -0.0770771 5.9518 -0.0770771 6.26506 0.231231C6.57831 0.53954 6.57831 1.03941 6.26506 1.34772L2.5542 4.99998L6.26506 8.65225C6.57831 8.96055 6.57831 9.46042 6.26506 9.76873C5.9518 10.077 5.44392 10.077 5.13066 9.76873L0.857405 5.56295Z\"\n fill=\"#181F33\"\n fill-rule=\"evenodd\"\n />\n </svg>\n </span>\n <div *ngFor=\"let pageNumber of pages\">\n <span\n (click)=\"updateSelectedPage(pageNumber)\"\n *ngIf=\"pageNumber != 0\"\n [ngClass]=\"{ 'page-active': pageNumber == config.paginationConfig?.selectedPage }\"\n class=\"page\"\n >{{ pageNumber }}</span\n >\n <span *ngIf=\"pageNumber == 0\" class=\"page-seperator\">\n <div [ngStyle]=\"{ display: 'flex' }\">\n <span class=\"dot\" [ngStyle]=\"{ 'margin-right': '4px' }\"></span>\n <span class=\"dot\" [ngStyle]=\"{ 'margin-right': '4px' }\"></span>\n <span class=\"dot\"></span>\n </div> \n </span>\n </div>\n <span (click)=\"updateSelectedPage(config.paginationConfig?.selectedPage + 1)\" class=\"page\">\n <svg fill=\"none\" height=\"10\" viewBox=\"0 0 7 10\" width=\"7\" xmlns=\"http://www.w3.org/2000/svg\">\n <path\n clip-rule=\"evenodd\"\n d=\"M6.1426 5.56295C6.14421 5.56139 6.14581 5.55982 6.14741 5.55824C6.30405 5.40408 6.38236 5.20203 6.38236 4.99998C6.38236 4.79793 6.30405 4.59588 6.14741 4.44172C6.14581 4.44014 6.14421 4.43858 6.1426 4.43702L1.86934 0.231231C1.55608 -0.0770771 1.0482 -0.0770771 0.734942 0.231231C0.421688 0.53954 0.421688 1.03941 0.734942 1.34772L4.4458 4.99998L0.734941 8.65225C0.421686 8.96055 0.421686 9.46042 0.734941 9.76873C1.0482 10.077 1.55608 10.077 1.86934 9.76873L6.1426 5.56295Z\"\n fill=\"#181F33\"\n fill-rule=\"evenodd\"\n />\n </svg>\n </span>\n </div>\n </div>\n</div>\n", styles: ["#main-container{font-family:Lato,sans-serif;position:relative}.no-scrollbar::-webkit-scrollbar{width:0}.scrollbar::-webkit-scrollbar{width:8px;height:8px;border-radius:15px}.scrollbar::-webkit-scrollbar-thumb{background:#9aa7b4;border-radius:15px}#table-container{height:inherit;overflow-y:auto}.scroll-horizontally{height:inherit;width:-moz-fit-content;width:fit-content;overflow-y:unset!important;overflow-x:visible}#col-headers-container{display:flex;align-items:center;position:sticky;background-color:#fff;width:100%;z-index:1;min-height:44px;border-bottom:1px solid #e0e0e0;top:0;left:0;right:0}.col-header{padding:0 16px;display:flex;align-items:center;height:100%}.col-header-text{font-style:normal;font-weight:700;line-height:20px;display:flex;align-items:center;letter-spacing:.2px;margin:0}.filter-icon{margin-left:8px;padding:0 8px;position:relative;cursor:pointer}#filter-active{height:8px;width:8px;background:#16cbbc;border-radius:50%;position:absolute;top:4px;right:4px}.sub-row{height:auto;border-bottom:none}.loader ::ng-deep .mat-progress-spinner circle,.mat-spinner circle{stroke:#0937b2}.t-row{display:flex;min-height:44px;background-color:#fff;width:100%;border-bottom:1px solid #e0e0e0}.t-row:hover{background-color:#e7eefd}.active-row{background-color:#e6f6fd}.t-col-container{padding:0 16px}.t-row-hover:hover{background-color:#0000}.t-col-container-hover:hover{background-color:#e6ebf7}.t-col-container-hover:first-child{border-left:1px solid #e0e0e0}.t-col-container-hover{border-right:1px solid #e0e0e0}.t-col{display:flex;align-items:center;height:100%}.t-col-text{font-style:normal;font-weight:400;font-size:14px;line-height:20px;display:flex;align-items:center;letter-spacing:.2px;margin:0}#pagination-container{display:flex;justify-content:flex-end;align-items:center;height:56px}#pagination-text{font-style:normal;font-weight:400;font-size:12px;line-height:18px;letter-spacing:.4px;color:#6a737d;margin:0 96px 0 0}#pages-container{display:flex;margin-right:32px}.page{display:flex;justify-content:center;align-items:center;border:1px solid #6a737d;box-sizing:border-box;border-radius:4px;width:32px;height:32px;font-size:14px;line-height:20px;letter-spacing:.2px;color:#6a737d;margin-right:8px;cursor:pointer}.page-seperator{display:flex;justify-content:center;align-items:center;width:32px;height:32px;margin-right:8px}.dot{height:3px;width:3px;border-radius:50%;background:#6a737d}.page-active{color:#0937b2;border:1px solid #0937b2}\n"] }]
|
|
988
|
+
args: [{ selector: "mis-table", template: "<div\n [ngStyle]=\"{\n height: getContainerHeight(),\n width: getContainerWidth(),\n 'overflow-x': config.canScrollHorizontally ? 'auto' : 'unset'\n }\"\n id=\"main-container\"\n>\n <mis-table-filter\n #filter\n (filtersApplied)=\"updateAppliedFilters($event)\"\n *ngIf=\"showFilter\"\n [containerStyles]=\"filterContainerStyles\"\n [filtersData]=\"filterData\"\n ></mis-table-filter>\n <div\n #table\n id=\"table-container\"\n [ngClass]=\"{ 'no-scrollbar': expandedIndex < 0, scrollbar: !(expandedIndex < 0), 'scroll-horizontally': config.canScrollHorizontally }\"\n >\n <div\n [ngStyle]=\"getColHeadersRowStyles()\"\n id=\"col-headers-container\"\n >\n <div\n #colHeaderRef\n (click)=\"colHeader?.action ? colHeader?.action(colHeader) : null\"\n *ngFor=\"let colHeader of config?.colHeaderConfig\"\n class=\"col-header\"\n [ngStyle]=\"{\n width: colHeader?.style?.width || '',\n cursor: colHeader.action ? 'pointer' : 'default',\n 'justify-content': colHeader?.style?.justifyContent\n ? colHeader?.style?.justifyContent\n : colHeader.type === 'number'\n ? 'flex-end'\n : 'space-between'\n }\"\n >\n <p *ngIf=\"colHeader?.type !== 'custom'\" class=\"col-header-text\">\n {{ colHeader?.data || \" \" }}\n </p>\n <span\n (click)=\"filterData = colHeader.filters; toggleFilter(colHeader.data); $event.stopPropagation()\"\n *ngIf=\"colHeader?.type !== 'custom' && colHeader?.filters && colHeader?.filters?.length > 0\"\n class=\"filter-icon\"\n >\n <span *ngIf=\"appliedFilters[colHeader.data]?.length > 0\" id=\"filter-active\"></span>\n <svg fill=\"none\" height=\"10\" viewBox=\"0 0 13 10\" width=\"13\" xmlns=\"http://www.w3.org/2000/svg\">\n <path\n clip-rule=\"evenodd\"\n d=\"M4.97546 10H7.64213V8H4.97546V10ZM0.308472 0V2H12.3085V0H0.308472ZM2.30847 6H10.3085V4H2.30847V6Z\"\n fill=\"#181F33\"\n fill-rule=\"evenodd\"\n />\n </svg>\n </span>\n <ng-template\n *ngIf=\"colHeader?.type === 'custom'\"\n [customComponent]=\"colHeader?.componentRef\"\n [data]=\"colHeader.data\"\n customTableCell\n ></ng-template>\n </div>\n </div>\n <div id=\"data-container\">\n <div class=\"row-wrapper\" *ngFor=\"let row of tableData; let i = index\">\n <div\n class=\"t-row\"\n [ngClass]=\"{ 't-row-hover': config.cellHover, 'active-row': i === activeRowIndex }\"\n [ngStyle]=\"{ 'min-height': config?.rowConfig?.height ? config.rowConfig.height : '44px' }\"\n (click)=\"selectRow(i)\"\n >\n <div\n (click)=\"config?.colConfig[i]?.action ? config?.colConfig[i]?.action(col) : null\"\n *ngFor=\"let col of row; let i = index\"\n [ngStyle]=\"{\n width: config?.colConfig[i]?.style?.width || config?.colHeaderConfig[i]?.style?.width || ''\n }\"\n class=\"t-col-container\"\n [ngClass]=\"{ 't-col-container-hover': config.cellHover }\"\n >\n <div\n class=\"t-col\"\n [style]=\"config.colConfig[i]?.style\"\n [ngStyle]=\"{\n width: '100%',\n cursor: config.colConfig[i]?.action ? 'pointer' : 'default',\n 'justify-content': config.colConfig[i]?.style?.justifyContent\n ? config.colConfig[i]?.style?.justifyContent\n : config.colConfig[i]?.type === 'number'\n ? 'flex-end'\n : 'space-between'\n }\"\n >\n <p\n *ngIf=\"config.colConfig[i]?.type !== 'custom'\"\n [ngStyle]=\"{\n color: config?.colConfig[i]?.style?.color ? config?.colConfig[i]?.style?.color : ''\n }\"\n class=\"t-col-text\"\n >\n {{ col }}\n </p>\n <ng-template\n *ngIf=\"config.colConfig[i]?.type === 'custom'\"\n [customComponent]=\"config.colConfig[i].componentRef\"\n [data]=\"col\"\n customTableCell\n ></ng-template>\n </div>\n </div>\n </div>\n <div *ngIf=\"config?.canExpand && expandedIndex === i\" class=\"sub-row\">\n <ng-container *ngIf=\"subTableDataLoading\">\n <div [ngStyle]=\"{\n display: 'flex',\n justifyContent: 'center',\n alignItems: 'center',\n padding: '16px'\n }\">\n Loading...\n </div>\n </ng-container>\n \n <ng-container *ngIf=\"!subTableDataLoading && subTableData.length === 0\">\n <div [ngStyle]=\"{\n display: 'flex',\n justifyContent: 'center',\n alignItems: 'center',\n padding: '16px'\n }\">\n No Data Available...\n </div>\n </ng-container>\n \n <ng-container *ngIf=\"!subTableDataLoading && subTableData.length > 0\">\n <sub-table [config]=\"subTableconfig\" [tableData]=\"subTableData\"></sub-table>\n </ng-container>\n </div>\n </div>\n </div>\n </div>\n <div\n *ngIf=\"config?.paginationConfig && (tableLength >= config.paginationConfig.rowsPerPage || config.paginationConfig?.selectedPage !== 1)\"\n id=\"pagination-container\"\n >\n <p id=\"pagination-text\">\n Showing\n {{ (config.paginationConfig?.selectedPage - 1) * config.paginationConfig.rowsPerPage + 1 }}-{{\n (config.paginationConfig?.selectedPage - 1) * config.paginationConfig.rowsPerPage + tableLength\n }}\n of {{ config.paginationConfig.totalNoOfRows }} items\n </p>\n <div id=\"pages-container\">\n <span (click)=\"updateSelectedPage(config.paginationConfig?.selectedPage - 1)\" class=\"page\">\n <svg fill=\"none\" height=\"10\" viewBox=\"0 0 7 10\" width=\"7\" xmlns=\"http://www.w3.org/2000/svg\">\n <path\n clip-rule=\"evenodd\"\n d=\"M0.857405 5.56295C0.855794 5.56139 0.854188 5.55982 0.852588 5.55824C0.695955 5.40408 0.617641 5.20203 0.617647 4.99998C0.617641 4.79793 0.695955 4.59588 0.852588 4.44172C0.854188 4.44014 0.855794 4.43858 0.857404 4.43702L5.13066 0.231231C5.44392 -0.0770771 5.9518 -0.0770771 6.26506 0.231231C6.57831 0.53954 6.57831 1.03941 6.26506 1.34772L2.5542 4.99998L6.26506 8.65225C6.57831 8.96055 6.57831 9.46042 6.26506 9.76873C5.9518 10.077 5.44392 10.077 5.13066 9.76873L0.857405 5.56295Z\"\n fill=\"#181F33\"\n fill-rule=\"evenodd\"\n />\n </svg>\n </span>\n <div *ngFor=\"let pageNumber of pages\">\n <span\n (click)=\"updateSelectedPage(pageNumber)\"\n *ngIf=\"pageNumber != 0\"\n [ngClass]=\"{ 'page-active': pageNumber == config.paginationConfig?.selectedPage }\"\n class=\"page\"\n >{{ pageNumber }}</span\n >\n <span *ngIf=\"pageNumber == 0\" class=\"page-seperator\">\n <div [ngStyle]=\"{ display: 'flex' }\">\n <span class=\"dot\" [ngStyle]=\"{ 'margin-right': '4px' }\"></span>\n <span class=\"dot\" [ngStyle]=\"{ 'margin-right': '4px' }\"></span>\n <span class=\"dot\"></span>\n </div> \n </span>\n </div>\n <span (click)=\"updateSelectedPage(config.paginationConfig?.selectedPage + 1)\" class=\"page\">\n <svg fill=\"none\" height=\"10\" viewBox=\"0 0 7 10\" width=\"7\" xmlns=\"http://www.w3.org/2000/svg\">\n <path\n clip-rule=\"evenodd\"\n d=\"M6.1426 5.56295C6.14421 5.56139 6.14581 5.55982 6.14741 5.55824C6.30405 5.40408 6.38236 5.20203 6.38236 4.99998C6.38236 4.79793 6.30405 4.59588 6.14741 4.44172C6.14581 4.44014 6.14421 4.43858 6.1426 4.43702L1.86934 0.231231C1.55608 -0.0770771 1.0482 -0.0770771 0.734942 0.231231C0.421688 0.53954 0.421688 1.03941 0.734942 1.34772L4.4458 4.99998L0.734941 8.65225C0.421686 8.96055 0.421686 9.46042 0.734941 9.76873C1.0482 10.077 1.55608 10.077 1.86934 9.76873L6.1426 5.56295Z\"\n fill=\"#181F33\"\n fill-rule=\"evenodd\"\n />\n </svg>\n </span>\n </div>\n </div>\n</div>\n", styles: ["#main-container{font-family:Lato,sans-serif;position:relative}.no-scrollbar::-webkit-scrollbar{width:0}.scrollbar::-webkit-scrollbar{width:8px;height:8px;border-radius:15px}.scrollbar::-webkit-scrollbar-thumb{background:#9aa7b4;border-radius:15px}#table-container{height:inherit;overflow-y:auto}.scroll-horizontally{height:inherit;width:fit-content;overflow-y:unset!important;overflow-x:visible}#col-headers-container{display:flex;align-items:center;position:sticky;background-color:#fff;width:100%;z-index:1;min-height:44px;border-bottom:1px solid #e0e0e0;top:0;left:0;right:0}.col-header{padding:0 16px;display:flex;align-items:center;height:100%}.col-header-text{font-style:normal;font-weight:700;line-height:20px;display:flex;align-items:center;letter-spacing:.2px;margin:0}.filter-icon{margin-left:8px;padding:0 8px;position:relative;cursor:pointer}#filter-active{height:8px;width:8px;background:#16cbbc;border-radius:50%;position:absolute;top:4px;right:4px}.sub-row{height:auto;border-bottom:none}.loader ::ng-deep .mat-progress-spinner circle,.mat-spinner circle{stroke:#0937b2}.t-row{display:flex;min-height:44px;background-color:#fff;width:100%;border-bottom:1px solid #e0e0e0}.t-row:hover{background-color:#e7eefd}.active-row{background-color:#e6f6fd}.t-col-container{padding:0 16px}.t-row-hover:hover{background-color:#0000}.t-col-container-hover:hover{background-color:#e6ebf7}.t-col-container-hover:first-child{border-left:1px solid #e0e0e0}.t-col-container-hover{border-right:1px solid #e0e0e0}.t-col{display:flex;align-items:center;height:100%}.t-col-text{font-style:normal;font-weight:400;font-size:14px;line-height:20px;display:flex;align-items:center;letter-spacing:.2px;margin:0}#pagination-container{display:flex;justify-content:flex-end;align-items:center;height:56px}#pagination-text{font-style:normal;font-weight:400;font-size:12px;line-height:18px;letter-spacing:.4px;color:#6a737d;margin:0 96px 0 0}#pages-container{display:flex;margin-right:32px}.page{display:flex;justify-content:center;align-items:center;border:1px solid #6a737d;box-sizing:border-box;border-radius:4px;width:32px;height:32px;font-size:14px;line-height:20px;letter-spacing:.2px;color:#6a737d;margin-right:8px;cursor:pointer}.page-seperator{display:flex;justify-content:center;align-items:center;width:32px;height:32px;margin-right:8px}.dot{height:3px;width:3px;border-radius:50%;background:#6a737d}.page-active{color:#0937b2;border:1px solid #0937b2}\n"] }]
|
|
989
989
|
}], function () { return [{ type: i0.Renderer2 }]; }, { filtersUpdated: [{
|
|
990
990
|
type: Output
|
|
991
991
|
}], filter: [{
|