@memberjunction/ng-filter-builder 5.3.1 → 5.4.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -1 +1 @@
1
- {"version":3,"file":"filter-types.test.js","sourceRoot":"","sources":["../../src/__tests__/filter-types.test.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"filter-types.test.js","sourceRoot":"","sources":["../../src/__tests__/filter-types.test.ts"],"names":[],"mappings":"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","sourcesContent":["import { describe, it, expect } from 'vitest';\nimport {\n isCompositeFilter,\n isSimpleFilter,\n createEmptyFilter,\n createFilterRule,\n getDefaultOperator,\n getDefaultValue,\n EMPTY_FILTER\n} from '../lib/types/filter.types';\nimport type {\n FilterDescriptor,\n CompositeFilterDescriptor,\n FilterFieldType\n} from '../lib/types/filter.types';\n\ndescribe('isCompositeFilter', () => {\n it('should return true for composite filters', () => {\n const composite: CompositeFilterDescriptor = {\n logic: 'and',\n filters: []\n };\n expect(isCompositeFilter(composite)).toBe(true);\n });\n\n it('should return false for simple filters', () => {\n const simple: FilterDescriptor = {\n field: 'Name',\n operator: 'eq',\n value: 'test'\n };\n expect(isCompositeFilter(simple)).toBe(false);\n });\n\n it('should return true for nested composite filters', () => {\n const nested: CompositeFilterDescriptor = {\n logic: 'or',\n filters: [\n { logic: 'and', filters: [] }\n ]\n };\n expect(isCompositeFilter(nested)).toBe(true);\n });\n});\n\ndescribe('isSimpleFilter', () => {\n it('should return true for simple filters', () => {\n const simple: FilterDescriptor = {\n field: 'Status',\n operator: 'contains',\n value: 'active'\n };\n expect(isSimpleFilter(simple)).toBe(true);\n });\n\n it('should return false for composite filters', () => {\n const composite: CompositeFilterDescriptor = {\n logic: 'and',\n filters: []\n };\n expect(isSimpleFilter(composite)).toBe(false);\n });\n});\n\ndescribe('createEmptyFilter', () => {\n it('should create a filter with and logic and empty filters array', () => {\n const filter = createEmptyFilter();\n expect(filter.logic).toBe('and');\n expect(filter.filters).toEqual([]);\n });\n\n it('should create independent instances', () => {\n const f1 = createEmptyFilter();\n const f2 = createEmptyFilter();\n f1.filters.push({ field: 'test', operator: 'eq', value: 1 });\n expect(f2.filters).toHaveLength(0);\n });\n});\n\ndescribe('EMPTY_FILTER', () => {\n it('should have and logic and empty filters', () => {\n expect(EMPTY_FILTER.logic).toBe('and');\n expect(EMPTY_FILTER.filters).toEqual([]);\n });\n});\n\ndescribe('createFilterRule', () => {\n it('should create a string filter rule by default', () => {\n const rule = createFilterRule('Name');\n expect(rule.field).toBe('Name');\n expect(rule.operator).toBe('contains');\n expect(rule.value).toBe('');\n });\n\n it('should create a number filter rule', () => {\n const rule = createFilterRule('Age', 'number');\n expect(rule.field).toBe('Age');\n expect(rule.operator).toBe('eq');\n expect(rule.value).toBeNull();\n });\n\n it('should create a boolean filter rule', () => {\n const rule = createFilterRule('IsActive', 'boolean');\n expect(rule.operator).toBe('eq');\n expect(rule.value).toBe(true);\n });\n\n it('should create a date filter rule', () => {\n const rule = createFilterRule('CreatedAt', 'date');\n expect(rule.operator).toBe('gte');\n expect(rule.value).toBeNull();\n });\n\n it('should create a lookup filter rule', () => {\n const rule = createFilterRule('CategoryID', 'lookup');\n expect(rule.operator).toBe('eq');\n expect(rule.value).toBeNull();\n });\n});\n\ndescribe('getDefaultOperator', () => {\n it('should return contains for string', () => {\n expect(getDefaultOperator('string')).toBe('contains');\n });\n\n it('should return eq for number', () => {\n expect(getDefaultOperator('number')).toBe('eq');\n });\n\n it('should return eq for boolean', () => {\n expect(getDefaultOperator('boolean')).toBe('eq');\n });\n\n it('should return gte for date', () => {\n expect(getDefaultOperator('date')).toBe('gte');\n });\n\n it('should return eq for lookup', () => {\n expect(getDefaultOperator('lookup')).toBe('eq');\n });\n\n it('should return eq for unknown type', () => {\n expect(getDefaultOperator('unknown' as FilterFieldType)).toBe('eq');\n });\n});\n\ndescribe('getDefaultValue', () => {\n it('should return empty string for string', () => {\n expect(getDefaultValue('string')).toBe('');\n });\n\n it('should return null for number', () => {\n expect(getDefaultValue('number')).toBeNull();\n });\n\n it('should return true for boolean', () => {\n expect(getDefaultValue('boolean')).toBe(true);\n });\n\n it('should return null for date', () => {\n expect(getDefaultValue('date')).toBeNull();\n });\n\n it('should return null for lookup', () => {\n expect(getDefaultValue('lookup')).toBeNull();\n });\n});\n"]}
@@ -1 +1 @@
1
- {"version":3,"file":"index.test.js","sourceRoot":"","sources":["../../src/__tests__/index.test.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,QAAQ,EAAE,EAAE,EAAE,MAAM,EAAE,MAAM,QAAQ,CAAC;AAE9C,QAAQ,CAAC,mCAAmC,EAAE,GAAG,EAAE;IACjD,EAAE,CAAC,4BAA4B,EAAE,GAAG,EAAE;QACpC,MAAM,CAAC,IAAI,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;IAC1B,CAAC,CAAC,CAAC;AACL,CAAC,CAAC,CAAC"}
1
+ {"version":3,"file":"index.test.js","sourceRoot":"","sources":["../../src/__tests__/index.test.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,QAAQ,EAAE,EAAE,EAAE,MAAM,EAAE,MAAM,QAAQ,CAAC;AAE9C,QAAQ,CAAC,mCAAmC,EAAE,GAAG,EAAE;IACjD,EAAE,CAAC,4BAA4B,EAAE,GAAG,EAAE;QACpC,MAAM,CAAC,IAAI,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;IAC1B,CAAC,CAAC,CAAC;AACL,CAAC,CAAC,CAAC","sourcesContent":["import { describe, it, expect } from 'vitest';\n\ndescribe('@memberjunction/ng-filter-builder', () => {\n it('should have a passing test', () => {\n expect(true).toBe(true);\n });\n});\n"]}
@@ -1 +1 @@
1
- {"version":3,"file":"operators.test.js","sourceRoot":"","sources":["../../src/__tests__/operators.test.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"operators.test.js","sourceRoot":"","sources":["../../src/__tests__/operators.test.ts"],"names":[],"mappings":"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","sourcesContent":["import { describe, it, expect } from 'vitest';\nimport {\n getOperatorsForType,\n getOperatorInfo,\n operatorRequiresValue,\n STRING_OPERATORS,\n NUMBER_OPERATORS,\n BOOLEAN_OPERATORS,\n DATE_OPERATORS,\n LOOKUP_OPERATORS\n} from '../lib/types/operators';\nimport type { FilterFieldType } from '../lib/types/filter.types';\n\ndescribe('operator constants', () => {\n it('STRING_OPERATORS should include contains and equals', () => {\n const ops = STRING_OPERATORS.map(o => o.value);\n expect(ops).toContain('contains');\n expect(ops).toContain('eq');\n expect(ops).toContain('startswith');\n expect(ops).toContain('endswith');\n expect(ops).toContain('isempty');\n expect(ops).toContain('isnotempty');\n });\n\n it('NUMBER_OPERATORS should include comparison operators', () => {\n const ops = NUMBER_OPERATORS.map(o => o.value);\n expect(ops).toContain('gt');\n expect(ops).toContain('gte');\n expect(ops).toContain('lt');\n expect(ops).toContain('lte');\n expect(ops).toContain('eq');\n expect(ops).toContain('isnull');\n });\n\n it('BOOLEAN_OPERATORS should be limited to eq, neq, and null checks', () => {\n const ops = BOOLEAN_OPERATORS.map(o => o.value);\n expect(ops).toContain('eq');\n expect(ops).toContain('neq');\n expect(ops).toContain('isnull');\n expect(ops).toContain('isnotnull');\n expect(ops).not.toContain('contains');\n });\n\n it('DATE_OPERATORS should include date comparison operators', () => {\n const ops = DATE_OPERATORS.map(o => o.value);\n expect(ops).toContain('gt');\n expect(ops).toContain('lt');\n expect(ops).toContain('isnull');\n });\n\n it('LOOKUP_OPERATORS should include string and equality ops', () => {\n const ops = LOOKUP_OPERATORS.map(o => o.value);\n expect(ops).toContain('eq');\n expect(ops).toContain('contains');\n expect(ops).toContain('isnull');\n });\n\n it('all operators should have label and requiresValue properties', () => {\n const allOps = [...STRING_OPERATORS, ...NUMBER_OPERATORS, ...BOOLEAN_OPERATORS, ...DATE_OPERATORS, ...LOOKUP_OPERATORS];\n for (const op of allOps) {\n expect(op).toHaveProperty('value');\n expect(op).toHaveProperty('label');\n expect(typeof op.requiresValue).toBe('boolean');\n }\n });\n});\n\ndescribe('getOperatorsForType', () => {\n it('should return STRING_OPERATORS for string type', () => {\n expect(getOperatorsForType('string')).toBe(STRING_OPERATORS);\n });\n\n it('should return NUMBER_OPERATORS for number type', () => {\n expect(getOperatorsForType('number')).toBe(NUMBER_OPERATORS);\n });\n\n it('should return BOOLEAN_OPERATORS for boolean type', () => {\n expect(getOperatorsForType('boolean')).toBe(BOOLEAN_OPERATORS);\n });\n\n it('should return DATE_OPERATORS for date type', () => {\n expect(getOperatorsForType('date')).toBe(DATE_OPERATORS);\n });\n\n it('should return LOOKUP_OPERATORS for lookup type', () => {\n expect(getOperatorsForType('lookup')).toBe(LOOKUP_OPERATORS);\n });\n\n it('should default to STRING_OPERATORS for unknown types', () => {\n expect(getOperatorsForType('custom' as FilterFieldType)).toBe(STRING_OPERATORS);\n });\n});\n\ndescribe('getOperatorInfo', () => {\n it('should find operator info for a valid operator', () => {\n const info = getOperatorInfo('contains', 'string');\n expect(info).toBeDefined();\n expect(info!.value).toBe('contains');\n expect(info!.label).toBe('contains');\n expect(info!.requiresValue).toBe(true);\n });\n\n it('should return undefined for invalid operator/type combo', () => {\n const info = getOperatorInfo('contains', 'boolean');\n expect(info).toBeUndefined();\n });\n\n it('should find null-check operators', () => {\n const info = getOperatorInfo('isnull', 'number');\n expect(info).toBeDefined();\n expect(info!.requiresValue).toBe(false);\n });\n});\n\ndescribe('operatorRequiresValue', () => {\n it('should return true for value operators', () => {\n expect(operatorRequiresValue('eq')).toBe(true);\n expect(operatorRequiresValue('contains')).toBe(true);\n expect(operatorRequiresValue('gt')).toBe(true);\n expect(operatorRequiresValue('startswith')).toBe(true);\n });\n\n it('should return false for null-check operators', () => {\n expect(operatorRequiresValue('isnull')).toBe(false);\n expect(operatorRequiresValue('isnotnull')).toBe(false);\n expect(operatorRequiresValue('isempty')).toBe(false);\n expect(operatorRequiresValue('isnotempty')).toBe(false);\n });\n});\n"]}
@@ -1 +1 @@
1
- {"version":3,"file":"filter-builder.component.js","sourceRoot":"","sources":["../../../src/lib/filter-builder/filter-builder.component.ts","../../../src/lib/filter-builder/filter-builder.component.html"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"filter-builder.component.js","sourceRoot":"","sources":["../../../src/lib/filter-builder/filter-builder.component.ts","../../../src/lib/filter-builder/filter-builder.component.html"],"names":[],"mappings":"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","sourcesContent":["import { Component, Input, Output, EventEmitter, OnInit, OnChanges, SimpleChanges } from '@angular/core';\nimport { DomSanitizer, SafeHtml } from '@angular/platform-browser';\nimport {\n CompositeFilterDescriptor,\n FilterDescriptor,\n FilterFieldInfo,\n FilterBuilderConfig,\n createEmptyFilter,\n isCompositeFilter\n} from '../types/filter.types';\n\n/**\n * Default configuration for the filter builder\n */\nconst DEFAULT_CONFIG: FilterBuilderConfig = {\n maxDepth: 3,\n allowGroups: true,\n showClearButton: true,\n showApplyButton: false,\n applyOnChange: true\n};\n\n/**\n * FilterBuilderComponent - Main filter builder component\n *\n * Provides a complete UI for building complex filter expressions\n * with AND/OR logic and nested groups. Outputs Kendo-compatible\n * CompositeFilterDescriptor JSON format.\n *\n * @example\n * ```html\n * <mj-filter-builder\n * [fields]=\"filterFields\"\n * [filter]=\"currentFilter\"\n * (filterChange)=\"onFilterChange($event)\"\n * (apply)=\"onApply($event)\">\n * </mj-filter-builder>\n * ```\n */\n@Component({\n standalone: false,\n selector: 'mj-filter-builder',\n templateUrl: './filter-builder.component.html',\n styleUrls: ['./filter-builder.component.css']\n})\nexport class FilterBuilderComponent implements OnInit, OnChanges {\n /**\n * Available fields to filter on\n */\n @Input() fields: FilterFieldInfo[] = [];\n\n /**\n * Current filter state (Kendo-compatible CompositeFilterDescriptor)\n */\n @Input() filter: CompositeFilterDescriptor | null = null;\n\n /**\n * Configuration options\n */\n @Input() config: Partial<FilterBuilderConfig> = {};\n\n /**\n * Whether the component is disabled\n */\n @Input() disabled: boolean = false;\n\n /**\n * Whether to show the natural language filter summary at the bottom\n */\n @Input() showSummary: boolean = false;\n\n /**\n * Whether the filter summary is expanded (visible)\n */\n public isSummaryExpanded: boolean = false;\n\n /**\n * Emitted when the filter changes\n */\n @Output() filterChange = new EventEmitter<CompositeFilterDescriptor>();\n\n /**\n * Emitted when the Apply button is clicked (if showApplyButton is true)\n */\n @Output() apply = new EventEmitter<CompositeFilterDescriptor>();\n\n /**\n * Emitted when the Clear button is clicked\n */\n @Output() clear = new EventEmitter<void>();\n\n /**\n * Internal filter state\n */\n public internalFilter: CompositeFilterDescriptor = createEmptyFilter();\n\n /**\n * Merged configuration\n */\n public mergedConfig: FilterBuilderConfig = { ...DEFAULT_CONFIG };\n\n /**\n * Whether there are any active filters\n */\n public hasActiveFilters: boolean = false;\n\n constructor(private sanitizer: DomSanitizer) {}\n\n ngOnInit(): void {\n this.initializeFilter();\n this.mergeConfig();\n }\n\n ngOnChanges(changes: SimpleChanges): void {\n if (changes['filter']) {\n this.initializeFilter();\n }\n if (changes['config']) {\n this.mergeConfig();\n }\n }\n\n /**\n * Initialize the internal filter state\n */\n private initializeFilter(): void {\n if (this.filter && isCompositeFilter(this.filter)) {\n this.internalFilter = this.deepCloneFilter(this.filter);\n } else {\n this.internalFilter = createEmptyFilter();\n }\n this.updateHasActiveFilters();\n }\n\n /**\n * Merge provided config with defaults\n */\n private mergeConfig(): void {\n this.mergedConfig = { ...DEFAULT_CONFIG, ...this.config };\n }\n\n /**\n * Handle filter change from the filter group\n */\n onFilterChange(filter: CompositeFilterDescriptor): void {\n this.internalFilter = filter;\n this.updateHasActiveFilters();\n\n if (this.mergedConfig.applyOnChange) {\n this.filterChange.emit(filter);\n }\n }\n\n /**\n * Handle Apply button click\n */\n onApply(): void {\n this.filterChange.emit(this.internalFilter);\n this.apply.emit(this.internalFilter);\n }\n\n /**\n * Handle Clear button click\n */\n onClear(): void {\n this.internalFilter = createEmptyFilter();\n this.updateHasActiveFilters();\n this.filterChange.emit(this.internalFilter);\n this.clear.emit();\n }\n\n /**\n * Get the count of active filter rules\n */\n getFilterCount(): number {\n return this.countFilters(this.internalFilter);\n }\n\n /**\n * Count filters recursively\n */\n private countFilters(filter: CompositeFilterDescriptor): number {\n let count = 0;\n for (const item of filter.filters || []) {\n if (isCompositeFilter(item)) {\n count += this.countFilters(item);\n } else {\n // Only count if the filter has a valid field and value (or null-check operators)\n const rule = item as FilterDescriptor;\n if (rule.field) {\n count++;\n }\n }\n }\n return count;\n }\n\n /**\n * Update hasActiveFilters flag\n */\n private updateHasActiveFilters(): void {\n this.hasActiveFilters = this.getFilterCount() > 0;\n }\n\n /**\n * Deep clone a filter to prevent mutation\n */\n private deepCloneFilter(filter: CompositeFilterDescriptor): CompositeFilterDescriptor {\n return JSON.parse(JSON.stringify(filter));\n }\n\n /**\n * Toggle the filter summary visibility\n */\n toggleSummary(): void {\n this.isSummaryExpanded = !this.isSummaryExpanded;\n }\n\n /**\n * Generate HTML-formatted summary of the filter expression with syntax highlighting\n */\n getFilterSummaryHtml(): SafeHtml {\n if (!this.hasActiveFilters) {\n return this.sanitizer.bypassSecurityTrustHtml('<span style=\"color: #9ca3af; font-style: italic;\">No filters applied</span>');\n }\n const html = this.buildFilterSummaryHtml(this.internalFilter, 0);\n return this.sanitizer.bypassSecurityTrustHtml(html);\n }\n\n /**\n * Inline styles for syntax highlighting (needed because Angular view encapsulation\n * doesn't apply component CSS to dynamically injected innerHTML)\n */\n private readonly styles = {\n fieldName: 'color: #0369a1; font-weight: 600;',\n operator: 'color: #6b7280; font-style: italic;',\n valueString: 'color: #059669; font-weight: 500;',\n valueNumber: 'color: #7c3aed; font-weight: 500;',\n valueDate: 'color: #c2410c; font-weight: 500;',\n valueTrue: 'color: #16a34a; font-weight: 600;',\n valueFalse: 'color: #dc2626; font-weight: 600;',\n logicAnd: 'display: inline-block; padding: 2px 8px; border-radius: 4px; font-size: 11px; font-weight: 700; letter-spacing: 0.5px; background: #dbeafe; color: #1d4ed8;',\n logicOr: 'display: inline-block; padding: 2px 8px; border-radius: 4px; font-size: 11px; font-weight: 700; letter-spacing: 0.5px; background: #fef3c7; color: #b45309;',\n groupBracket: 'color: #9333ea; font-weight: 700; font-size: 15px;'\n };\n\n /**\n * Build HTML summary recursively with indentation and syntax highlighting\n */\n private buildFilterSummaryHtml(filter: CompositeFilterDescriptor, depth: number): string {\n const parts: string[] = [];\n const indent = ' '.repeat(depth);\n\n for (const item of filter.filters || []) {\n if (isCompositeFilter(item)) {\n const groupSummary = this.buildFilterSummaryHtml(item, depth + 1);\n if (groupSummary) {\n parts.push(`<span style=\"${this.styles.groupBracket}\">(</span>\\n${groupSummary}\\n${indent}<span style=\"${this.styles.groupBracket}\">)</span>`);\n }\n } else {\n const rule = item as FilterDescriptor;\n const ruleSummary = this.buildRuleSummaryHtml(rule);\n if (ruleSummary) {\n parts.push(ruleSummary);\n }\n }\n }\n\n if (parts.length === 0) {\n return '';\n }\n\n const logicStyle = filter.logic === 'and' ? this.styles.logicAnd : this.styles.logicOr;\n const logicLabel = filter.logic === 'and' ? 'AND' : 'OR';\n const connector = `\\n${indent}<span style=\"${logicStyle}\">${logicLabel}</span>\\n${indent}`;\n\n return `${indent}${parts.join(connector)}`;\n }\n\n /**\n * Build HTML summary for a single rule with syntax highlighting\n */\n private buildRuleSummaryHtml(rule: FilterDescriptor): string {\n if (!rule.field) {\n return '';\n }\n\n // Get the field display name\n const field = this.fields.find(f => f.name === rule.field);\n const fieldName = field?.displayName || rule.field;\n\n // Get the operator label\n const operatorLabel = this.getOperatorLabel(rule.operator);\n\n // Format the value\n const formattedValue = this.formatValueHtml(rule.value, rule.operator);\n\n // Build the summary based on operator type\n const fieldHtml = `<span style=\"${this.styles.fieldName}\">${this.escapeHtml(fieldName)}</span>`;\n const operatorHtml = `<span style=\"${this.styles.operator}\">${operatorLabel}</span>`;\n\n if (this.isNullCheckOperator(rule.operator)) {\n return `${fieldHtml} ${operatorHtml}`;\n }\n\n return `${fieldHtml} ${operatorHtml} ${formattedValue}`;\n }\n\n /**\n * Check if operator is a null-check operator (doesn't need a value)\n */\n private isNullCheckOperator(operator: string): boolean {\n return ['isnull', 'isnotnull', 'isempty', 'isnotempty'].includes(operator);\n }\n\n /**\n * Get human-readable label for an operator\n */\n private getOperatorLabel(operator: string): string {\n const labels: Record<string, string> = {\n 'eq': 'equals',\n 'neq': 'does not equal',\n 'contains': 'contains',\n 'doesnotcontain': 'does not contain',\n 'startswith': 'starts with',\n 'endswith': 'ends with',\n 'isnull': 'is empty',\n 'isnotnull': 'is not empty',\n 'isempty': 'is empty',\n 'isnotempty': 'is not empty',\n 'gt': 'is greater than',\n 'gte': 'is greater than or equal to',\n 'lt': 'is less than',\n 'lte': 'is less than or equal to'\n };\n return labels[operator] || operator;\n }\n\n /**\n * Format a value for HTML display with syntax highlighting\n */\n private formatValueHtml(value: unknown, operator: string): string {\n if (value === null || value === undefined) {\n return '';\n }\n\n // Don't show value for null-check operators\n if (this.isNullCheckOperator(operator)) {\n return '';\n }\n\n // Handle ISO date strings\n if (typeof value === 'string' && this.isIsoDateString(value)) {\n const date = new Date(value);\n const formatted = date.toLocaleDateString('en-US', {\n year: 'numeric',\n month: 'short',\n day: 'numeric'\n });\n return `<span style=\"${this.styles.valueDate}\">${formatted}</span>`;\n }\n\n // Handle strings\n if (typeof value === 'string') {\n return `<span style=\"${this.styles.valueString}\">\"${this.escapeHtml(value)}\"</span>`;\n }\n\n // Handle booleans\n if (typeof value === 'boolean') {\n const boolStyle = value ? this.styles.valueTrue : this.styles.valueFalse;\n return `<span style=\"${boolStyle}\">${value ? 'Yes' : 'No'}</span>`;\n }\n\n // Handle numbers\n if (typeof value === 'number') {\n return `<span style=\"${this.styles.valueNumber}\">${value}</span>`;\n }\n\n // Handle Date objects\n if (value instanceof Date) {\n const formatted = value.toLocaleDateString('en-US', {\n year: 'numeric',\n month: 'short',\n day: 'numeric'\n });\n return `<span style=\"${this.styles.valueDate}\">${formatted}</span>`;\n }\n\n // Default\n return `<span style=\"font-weight: 500;\">${this.escapeHtml(String(value))}</span>`;\n }\n\n /**\n * Check if a string looks like an ISO date\n */\n private isIsoDateString(value: string): boolean {\n // Match ISO 8601 date format\n return /^\\d{4}-\\d{2}-\\d{2}(T\\d{2}:\\d{2}:\\d{2}(\\.\\d{3})?Z?)?$/.test(value);\n }\n\n /**\n * Escape HTML characters to prevent XSS\n */\n private escapeHtml(text: string): string {\n const div = document.createElement('div');\n div.textContent = text;\n return div.innerHTML;\n }\n}\n","<div class=\"filter-builder\" [class.disabled]=\"disabled\">\n <!-- Header with summary and actions -->\n <div class=\"filter-header\">\n <div class=\"filter-summary\">\n <span class=\"filter-icon\">\n <i class=\"fa-solid fa-filter\"></i>\n </span>\n @if (hasActiveFilters) {\n <span class=\"filter-count\">{{ getFilterCount() }} condition{{ getFilterCount() !== 1 ? 's' : '' }}</span>\n } @else {\n <span class=\"filter-count no-filters\">No filters applied</span>\n }\n </div>\n\n <div class=\"filter-actions\">\n @if (mergedConfig.showClearButton && hasActiveFilters) {\n <button\n type=\"button\"\n class=\"action-btn clear-btn\"\n (click)=\"onClear()\"\n [disabled]=\"disabled\"\n title=\"Clear all filters\">\n <i class=\"fa-solid fa-times\"></i>\n <span>Clear All</span>\n </button>\n }\n @if (mergedConfig.showApplyButton) {\n <button\n type=\"button\"\n class=\"action-btn apply-btn\"\n (click)=\"onApply()\"\n [disabled]=\"disabled\"\n title=\"Apply filters\">\n <i class=\"fa-solid fa-check\"></i>\n <span>Apply</span>\n </button>\n }\n </div>\n </div>\n\n <!-- Filter Builder Content -->\n <div class=\"filter-content\">\n <mj-filter-group\n [filter]=\"internalFilter\"\n [fields]=\"fields\"\n [isRoot]=\"true\"\n [depth]=\"0\"\n [maxDepth]=\"mergedConfig.maxDepth\"\n [disabled]=\"disabled\"\n (filterChange)=\"onFilterChange($event)\">\n </mj-filter-group>\n </div>\n\n <!-- Quick tips (shown when no filters) -->\n @if (!hasActiveFilters) {\n <div class=\"filter-tips\">\n <p>\n <i class=\"fa-solid fa-lightbulb\"></i>\n <strong>Tip:</strong> Click \"Add Condition\" to create filter rules.\n Use \"Add Group\" for complex AND/OR combinations.\n </p>\n </div>\n }\n\n <!-- Collapsible filter expression summary -->\n @if (showSummary && hasActiveFilters) {\n <div class=\"filter-expression-summary\" [class.expanded]=\"isSummaryExpanded\">\n <button type=\"button\" class=\"expression-toggle\" (click)=\"toggleSummary()\">\n <i class=\"fa-solid\" [class.fa-chevron-right]=\"!isSummaryExpanded\" [class.fa-chevron-down]=\"isSummaryExpanded\"></i>\n <i class=\"fa-solid fa-code expression-icon\"></i>\n <span class=\"expression-label\">View Filter Expression</span>\n <span class=\"expression-badge\">{{ getFilterCount() }}</span>\n </button>\n @if (isSummaryExpanded) {\n <div class=\"expression-content\">\n <pre class=\"expression-text\" [innerHTML]=\"getFilterSummaryHtml()\"></pre>\n </div>\n }\n </div>\n }\n</div>\n"]}
@@ -1 +1 @@
1
- {"version":3,"file":"filter-builder.module.js","sourceRoot":"","sources":["../../src/lib/filter-builder.module.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,QAAQ,EAAE,MAAM,eAAe,CAAC;AACzC,OAAO,EAAE,YAAY,EAAE,MAAM,iBAAiB,CAAC;AAC/C,OAAO,EAAE,WAAW,EAAE,MAAM,gBAAgB,CAAC;AAE7C,OAAO,EAAE,sBAAsB,EAAE,MAAM,2CAA2C,CAAC;AACnF,OAAO,EAAE,oBAAoB,EAAE,MAAM,uCAAuC,CAAC;AAC7E,OAAO,EAAE,mBAAmB,EAAE,MAAM,qCAAqC,CAAC;;AAE1E;;;;;;;;;;;;;;;;;;;;;;;;;;GA0BG;AAiBH,MAAM,OAAO,mBAAmB;6GAAnB,mBAAmB;4DAAnB,mBAAmB;gEAT5B,YAAY;YACZ,WAAW;;iFAQF,mBAAmB;cAhB/B,QAAQ;eAAC;gBACR,YAAY,EAAE;oBACZ,sBAAsB;oBACtB,oBAAoB;oBACpB,mBAAmB;iBACpB;gBACD,OAAO,EAAE;oBACP,YAAY;oBACZ,WAAW;iBACZ;gBACD,OAAO,EAAE;oBACP,sBAAsB;oBACtB,oBAAoB;oBACpB,mBAAmB;iBACpB;aACF;;wFACY,mBAAmB,mBAd5B,sBAAsB;QACtB,oBAAoB;QACpB,mBAAmB,aAGnB,YAAY;QACZ,WAAW,aAGX,sBAAsB;QACtB,oBAAoB;QACpB,mBAAmB"}
1
+ {"version":3,"file":"filter-builder.module.js","sourceRoot":"","sources":["../../src/lib/filter-builder.module.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,QAAQ,EAAE,MAAM,eAAe,CAAC;AACzC,OAAO,EAAE,YAAY,EAAE,MAAM,iBAAiB,CAAC;AAC/C,OAAO,EAAE,WAAW,EAAE,MAAM,gBAAgB,CAAC;AAE7C,OAAO,EAAE,sBAAsB,EAAE,MAAM,2CAA2C,CAAC;AACnF,OAAO,EAAE,oBAAoB,EAAE,MAAM,uCAAuC,CAAC;AAC7E,OAAO,EAAE,mBAAmB,EAAE,MAAM,qCAAqC,CAAC;;AAE1E;;;;;;;;;;;;;;;;;;;;;;;;;;GA0BG;AAiBH,MAAM,OAAO,mBAAmB;6GAAnB,mBAAmB;4DAAnB,mBAAmB;gEAT5B,YAAY;YACZ,WAAW;;iFAQF,mBAAmB;cAhB/B,QAAQ;eAAC;gBACR,YAAY,EAAE;oBACZ,sBAAsB;oBACtB,oBAAoB;oBACpB,mBAAmB;iBACpB;gBACD,OAAO,EAAE;oBACP,YAAY;oBACZ,WAAW;iBACZ;gBACD,OAAO,EAAE;oBACP,sBAAsB;oBACtB,oBAAoB;oBACpB,mBAAmB;iBACpB;aACF;;wFACY,mBAAmB,mBAd5B,sBAAsB;QACtB,oBAAoB;QACpB,mBAAmB,aAGnB,YAAY;QACZ,WAAW,aAGX,sBAAsB;QACtB,oBAAoB;QACpB,mBAAmB","sourcesContent":["import { NgModule } from '@angular/core';\nimport { CommonModule } from '@angular/common';\nimport { FormsModule } from '@angular/forms';\n\nimport { FilterBuilderComponent } from './filter-builder/filter-builder.component';\nimport { FilterGroupComponent } from './filter-group/filter-group.component';\nimport { FilterRuleComponent } from './filter-rule/filter-rule.component';\n\n/**\n * FilterBuilderModule\n *\n * Provides a complete filter builder UI for creating complex\n * boolean filter expressions. Outputs Kendo-compatible\n * CompositeFilterDescriptor JSON format.\n *\n * @example\n * ```typescript\n * import { FilterBuilderModule } from '@memberjunction/ng-filter-builder';\n *\n * @NgModule({\n * imports: [FilterBuilderModule],\n * // ...\n * })\n * export class MyModule {}\n * ```\n *\n * @example\n * ```html\n * <mj-filter-builder\n * [fields]=\"filterFields\"\n * [filter]=\"currentFilter\"\n * (filterChange)=\"onFilterChange($event)\">\n * </mj-filter-builder>\n * ```\n */\n@NgModule({\n declarations: [\n FilterBuilderComponent,\n FilterGroupComponent,\n FilterRuleComponent\n ],\n imports: [\n CommonModule,\n FormsModule\n ],\n exports: [\n FilterBuilderComponent,\n FilterGroupComponent,\n FilterRuleComponent\n ]\n})\nexport class FilterBuilderModule {}\n"]}
@@ -1 +1 @@
1
- {"version":3,"file":"filter-group.component.js","sourceRoot":"","sources":["../../../src/lib/filter-group/filter-group.component.ts","../../../src/lib/filter-group/filter-group.component.html"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"filter-group.component.js","sourceRoot":"","sources":["../../../src/lib/filter-group/filter-group.component.ts","../../../src/lib/filter-group/filter-group.component.html"],"names":[],"mappings":"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","sourcesContent":["import { Component, Input, Output, EventEmitter, OnInit, ViewEncapsulation } from '@angular/core';\nimport {\n CompositeFilterDescriptor,\n FilterDescriptor,\n FilterFieldInfo,\n FilterLogic,\n isCompositeFilter,\n createFilterRule\n} from '../types/filter.types';\n\n/**\n * FilterGroupComponent - A group of filter rules with AND/OR logic\n *\n * Supports nested groups for complex filter expressions.\n */\n@Component({\n standalone: false,\n selector: 'mj-filter-group',\n templateUrl: './filter-group.component.html',\n styleUrls: ['./filter-group.component.css'],\n encapsulation: ViewEncapsulation.None\n})\nexport class FilterGroupComponent implements OnInit {\n /**\n * The composite filter descriptor for this group\n */\n @Input() filter!: CompositeFilterDescriptor;\n\n /**\n * Available fields to filter on\n */\n @Input() fields: FilterFieldInfo[] = [];\n\n /**\n * Whether this is the root group (affects delete button visibility)\n */\n @Input() isRoot: boolean = false;\n\n /**\n * Nesting depth (for visual indication)\n */\n @Input() depth: number = 0;\n\n /**\n * Maximum nesting depth allowed\n */\n @Input() maxDepth: number = 3;\n\n /**\n * Whether the component is disabled\n */\n @Input() disabled: boolean = false;\n\n /**\n * Emitted when the filter changes\n */\n @Output() filterChange = new EventEmitter<CompositeFilterDescriptor>();\n\n /**\n * Emitted when the delete button is clicked (for nested groups)\n */\n @Output() delete = new EventEmitter<void>();\n\n ngOnInit(): void {\n // Ensure filter has at least one rule\n if (!this.filter.filters || this.filter.filters.length === 0) {\n this.addRule();\n }\n }\n\n /**\n * Toggle the logic between AND and OR\n */\n toggleLogic(): void {\n const newLogic: FilterLogic = this.filter.logic === 'and' ? 'or' : 'and';\n this.emitChange({\n ...this.filter,\n logic: newLogic\n });\n }\n\n /**\n * Set specific logic\n */\n setLogic(logic: FilterLogic): void {\n if (this.filter.logic !== logic) {\n this.emitChange({\n ...this.filter,\n logic\n });\n }\n }\n\n /**\n * Add a new filter rule\n */\n addRule(): void {\n const defaultField = this.fields[0]?.name || '';\n const newRule = createFilterRule(defaultField);\n\n this.emitChange({\n ...this.filter,\n filters: [...(this.filter.filters || []), newRule]\n });\n }\n\n /**\n * Add a new nested group\n */\n addGroup(): void {\n if (this.depth >= this.maxDepth) return;\n\n const defaultField = this.fields[0]?.name || '';\n const newGroup: CompositeFilterDescriptor = {\n logic: 'and',\n filters: [createFilterRule(defaultField)]\n };\n\n this.emitChange({\n ...this.filter,\n filters: [...(this.filter.filters || []), newGroup]\n });\n }\n\n /**\n * Handle rule change at specified index\n */\n onRuleChange(index: number, updatedRule: FilterDescriptor): void {\n const filters = [...(this.filter.filters || [])];\n filters[index] = updatedRule;\n this.emitChange({\n ...this.filter,\n filters\n });\n }\n\n /**\n * Handle nested group change at specified index\n */\n onGroupChange(index: number, updatedGroup: CompositeFilterDescriptor): void {\n const filters = [...(this.filter.filters || [])];\n filters[index] = updatedGroup;\n this.emitChange({\n ...this.filter,\n filters\n });\n }\n\n /**\n * Delete filter at specified index\n */\n deleteFilter(index: number): void {\n const filters = [...(this.filter.filters || [])];\n filters.splice(index, 1);\n\n // Ensure at least one rule remains if this is the root\n if (this.isRoot && filters.length === 0) {\n const defaultField = this.fields[0]?.name || '';\n filters.push(createFilterRule(defaultField));\n }\n\n this.emitChange({\n ...this.filter,\n filters\n });\n }\n\n /**\n * Delete this group (only for nested groups)\n */\n onDelete(): void {\n this.delete.emit();\n }\n\n /**\n * Check if a filter is a composite (group) filter\n */\n isGroup(filter: FilterDescriptor | CompositeFilterDescriptor): boolean {\n return isCompositeFilter(filter);\n }\n\n /**\n * Type guard cast to FilterDescriptor\n */\n asRule(filter: FilterDescriptor | CompositeFilterDescriptor): FilterDescriptor {\n return filter as FilterDescriptor;\n }\n\n /**\n * Type guard cast to CompositeFilterDescriptor\n */\n asGroup(filter: FilterDescriptor | CompositeFilterDescriptor): CompositeFilterDescriptor {\n return filter as CompositeFilterDescriptor;\n }\n\n /**\n * Check if we can add more nested groups\n */\n canAddGroup(): boolean {\n return this.depth < this.maxDepth;\n }\n\n /**\n * Emit the filter change event\n */\n private emitChange(filter: CompositeFilterDescriptor): void {\n this.filterChange.emit(filter);\n }\n\n /**\n * Track by function for ngFor optimization\n */\n trackByIndex(index: number): number {\n return index;\n }\n}\n","<div class=\"filter-group\" [class.root]=\"isRoot\" [class.disabled]=\"disabled\" [attr.data-depth]=\"depth\">\n <!-- Group Header -->\n <div class=\"group-header\">\n <div class=\"logic-toggle\">\n <button\n type=\"button\"\n class=\"logic-btn\"\n [class.active]=\"filter.logic === 'and'\"\n (click)=\"setLogic('and')\"\n [disabled]=\"disabled\"\n title=\"Match ALL conditions\">\n AND\n </button>\n <button\n type=\"button\"\n class=\"logic-btn\"\n [class.active]=\"filter.logic === 'or'\"\n (click)=\"setLogic('or')\"\n [disabled]=\"disabled\"\n title=\"Match ANY condition\">\n OR\n </button>\n </div>\n\n <div class=\"group-actions\">\n <button\n type=\"button\"\n class=\"add-btn\"\n (click)=\"addRule()\"\n [disabled]=\"disabled\"\n title=\"Add filter condition\">\n <i class=\"fa-solid fa-plus\"></i>\n <span>Add Condition</span>\n </button>\n @if (canAddGroup()) {\n <button\n type=\"button\"\n class=\"add-btn add-group\"\n (click)=\"addGroup()\"\n [disabled]=\"disabled\"\n title=\"Add nested group\">\n <i class=\"fa-solid fa-layer-group\"></i>\n <span>Add Group</span>\n </button>\n }\n @if (!isRoot) {\n <button\n type=\"button\"\n class=\"delete-group-btn\"\n (click)=\"onDelete()\"\n [disabled]=\"disabled\"\n title=\"Remove this group\">\n <i class=\"fa-solid fa-trash\"></i>\n </button>\n }\n </div>\n </div>\n\n <!-- Filters Container -->\n <div class=\"filters-container\">\n @for (item of filter.filters; track trackByIndex($index); let i = $index; let isLast = $last) {\n <div class=\"filter-item\">\n <!-- Logic connector between items -->\n @if (i > 0) {\n <div class=\"logic-connector\">\n <span class=\"connector-line\"></span>\n <span class=\"connector-label\">{{ filter.logic | uppercase }}</span>\n <span class=\"connector-line\"></span>\n </div>\n }\n\n @if (isGroup(item)) {\n <!-- Nested Group -->\n <mj-filter-group\n [filter]=\"asGroup(item)\"\n [fields]=\"fields\"\n [isRoot]=\"false\"\n [depth]=\"depth + 1\"\n [maxDepth]=\"maxDepth\"\n [disabled]=\"disabled\"\n (filterChange)=\"onGroupChange(i, $event)\"\n (delete)=\"deleteFilter(i)\">\n </mj-filter-group>\n } @else {\n <!-- Simple Rule -->\n <mj-filter-rule\n [filter]=\"asRule(item)\"\n [fields]=\"fields\"\n [disabled]=\"disabled\"\n [showDelete]=\"filter.filters.length > 1 || !isRoot\"\n (filterChange)=\"onRuleChange(i, $event)\"\n (delete)=\"deleteFilter(i)\">\n </mj-filter-rule>\n }\n </div>\n }\n </div>\n\n <!-- Empty State -->\n @if (!filter.filters || filter.filters.length === 0) {\n <div class=\"empty-state\">\n <p>No filter conditions defined.</p>\n <button\n type=\"button\"\n class=\"add-btn primary\"\n (click)=\"addRule()\"\n [disabled]=\"disabled\">\n <i class=\"fa-solid fa-plus\"></i>\n <span>Add your first condition</span>\n </button>\n </div>\n }\n</div>\n"]}
@@ -1 +1 @@
1
- {"version":3,"file":"filter-rule.component.js","sourceRoot":"","sources":["../../../src/lib/filter-rule/filter-rule.component.ts","../../../src/lib/filter-rule/filter-rule.component.html"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"filter-rule.component.js","sourceRoot":"","sources":["../../../src/lib/filter-rule/filter-rule.component.ts","../../../src/lib/filter-rule/filter-rule.component.html"],"names":[],"mappings":"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","sourcesContent":["import { Component, Input, Output, EventEmitter, OnInit, OnChanges, SimpleChanges, ViewEncapsulation, HostListener, ElementRef, ViewChild } from '@angular/core';\nimport {\n FilterDescriptor,\n FilterFieldInfo,\n FilterFieldType,\n FilterOperator\n} from '../types/filter.types';\nimport { getOperatorsForType, OperatorInfo, operatorRequiresValue } from '../types/operators';\n\n/**\n * FilterRuleComponent - A single filter condition row\n *\n * Displays field selector, operator selector, and value editor\n * based on the field type.\n */\n@Component({\n standalone: false,\n selector: 'mj-filter-rule',\n templateUrl: './filter-rule.component.html',\n styleUrls: ['./filter-rule.component.css'],\n encapsulation: ViewEncapsulation.None\n})\nexport class FilterRuleComponent implements OnInit, OnChanges {\n /**\n * The filter descriptor for this rule\n */\n @Input() filter!: FilterDescriptor;\n\n /**\n * Available fields to filter on\n */\n @Input() fields: FilterFieldInfo[] = [];\n\n /**\n * Whether the component is disabled\n */\n @Input() disabled: boolean = false;\n\n /**\n * Whether to show the delete button\n */\n @Input() showDelete: boolean = true;\n\n /**\n * Emitted when the filter changes\n */\n @Output() filterChange = new EventEmitter<FilterDescriptor>();\n\n /**\n * Emitted when the delete button is clicked\n */\n @Output() delete = new EventEmitter<void>();\n\n /**\n * Currently selected field info\n */\n public selectedField: FilterFieldInfo | null = null;\n\n /**\n * Available operators for the selected field type\n */\n public availableOperators: OperatorInfo[] = [];\n\n /**\n * Whether the current operator requires a value\n */\n public requiresValue: boolean = true;\n\n // Dropdown state\n public fieldDropdownOpen = false;\n public operatorDropdownOpen = false;\n public valueDropdownOpen = false;\n\n // Keyboard navigation state\n public fieldHighlightIndex = -1;\n public operatorHighlightIndex = -1;\n public valueHighlightIndex = -1;\n\n // ViewChild references for dropdown buttons (Safari focus fix)\n @ViewChild('fieldDropdownBtn') fieldDropdownBtn!: ElementRef<HTMLButtonElement>;\n @ViewChild('operatorDropdownBtn') operatorDropdownBtn!: ElementRef<HTMLButtonElement>;\n @ViewChild('valueDropdownBtn') valueDropdownBtn!: ElementRef<HTMLButtonElement>;\n\n constructor(private elementRef: ElementRef) {}\n\n /**\n * Close dropdowns when clicking outside the component\n */\n @HostListener('document:click', ['$event'])\n onDocumentClick(event: MouseEvent): void {\n if (!this.elementRef.nativeElement.contains(event.target)) {\n this.closeAllDropdowns();\n }\n }\n\n ngOnInit(): void {\n this.updateFieldSelection();\n }\n\n ngOnChanges(changes: SimpleChanges): void {\n if (changes['filter'] || changes['fields']) {\n this.updateFieldSelection();\n }\n }\n\n /**\n * Update the selected field and available operators\n */\n private updateFieldSelection(): void {\n if (!this.filter || !this.fields.length) return;\n\n this.selectedField = this.fields.find(f => f.name === this.filter.field) || null;\n\n if (this.selectedField) {\n this.availableOperators = getOperatorsForType(this.selectedField.type);\n this.requiresValue = operatorRequiresValue(this.filter.operator);\n } else {\n this.availableOperators = [];\n this.requiresValue = true;\n }\n }\n\n // ========================================\n // DROPDOWN TOGGLE METHODS\n // ========================================\n\n toggleFieldDropdown(): void {\n if (this.disabled) return;\n const wasOpen = this.fieldDropdownOpen;\n this.closeAllDropdowns();\n this.fieldDropdownOpen = !wasOpen;\n if (this.fieldDropdownOpen) {\n // Ensure button retains focus for keyboard events (Safari fix)\n setTimeout(() => this.fieldDropdownBtn?.nativeElement?.focus(), 0);\n }\n }\n\n toggleOperatorDropdown(): void {\n if (this.disabled || !this.selectedField) return;\n const wasOpen = this.operatorDropdownOpen;\n this.closeAllDropdowns();\n this.operatorDropdownOpen = !wasOpen;\n if (this.operatorDropdownOpen) {\n // Ensure button retains focus for keyboard events (Safari fix)\n setTimeout(() => this.operatorDropdownBtn?.nativeElement?.focus(), 0);\n }\n }\n\n toggleValueDropdown(): void {\n if (this.disabled) return;\n const wasOpen = this.valueDropdownOpen;\n this.closeAllDropdowns();\n this.valueDropdownOpen = !wasOpen;\n if (this.valueDropdownOpen) {\n // Ensure button retains focus for keyboard events (Safari fix)\n setTimeout(() => this.valueDropdownBtn?.nativeElement?.focus(), 0);\n }\n }\n\n closeFieldDropdown(): void {\n this.fieldDropdownOpen = false;\n }\n\n closeOperatorDropdown(): void {\n this.operatorDropdownOpen = false;\n }\n\n closeValueDropdown(): void {\n this.valueDropdownOpen = false;\n }\n\n closeAllDropdowns(): void {\n this.fieldDropdownOpen = false;\n this.operatorDropdownOpen = false;\n this.valueDropdownOpen = false;\n this.resetHighlightIndices();\n }\n\n resetHighlightIndices(): void {\n this.fieldHighlightIndex = -1;\n this.operatorHighlightIndex = -1;\n this.valueHighlightIndex = -1;\n }\n\n // ========================================\n // KEYBOARD NAVIGATION\n // ========================================\n\n /**\n * Handle keyboard events on the field dropdown trigger\n */\n onFieldKeydown(event: KeyboardEvent): void {\n if (this.disabled) return;\n\n if (!this.fieldDropdownOpen) {\n // Open dropdown on Enter, Space, or arrow keys\n if (event.key === 'Enter' || event.key === ' ' || event.key === 'ArrowDown' || event.key === 'ArrowUp') {\n event.preventDefault();\n this.toggleFieldDropdown();\n this.fieldHighlightIndex = this.fields.findIndex(f => f.name === this.filter.field);\n if (this.fieldHighlightIndex < 0) this.fieldHighlightIndex = 0;\n }\n return;\n }\n\n this.handleDropdownKeydown(\n event,\n this.fields,\n this.fieldHighlightIndex,\n (index) => this.fieldHighlightIndex = index,\n (item) => this.selectField(item.name),\n (item) => item.displayName,\n () => this.closeFieldDropdown()\n );\n }\n\n /**\n * Handle keyboard events on the operator dropdown trigger\n */\n onOperatorKeydown(event: KeyboardEvent): void {\n if (this.disabled || !this.selectedField) return;\n\n if (!this.operatorDropdownOpen) {\n if (event.key === 'Enter' || event.key === ' ' || event.key === 'ArrowDown' || event.key === 'ArrowUp') {\n event.preventDefault();\n this.toggleOperatorDropdown();\n this.operatorHighlightIndex = this.availableOperators.findIndex(o => o.value === this.filter.operator);\n if (this.operatorHighlightIndex < 0) this.operatorHighlightIndex = 0;\n }\n return;\n }\n\n this.handleDropdownKeydown(\n event,\n this.availableOperators,\n this.operatorHighlightIndex,\n (index) => this.operatorHighlightIndex = index,\n (item) => this.selectOperator(item.value),\n (item) => item.label,\n () => this.closeOperatorDropdown()\n );\n }\n\n /**\n * Handle keyboard events on the value dropdown trigger\n */\n onValueKeydown(event: KeyboardEvent): void {\n if (this.disabled || !this.selectedField?.valueList) return;\n\n if (!this.valueDropdownOpen) {\n if (event.key === 'Enter' || event.key === ' ' || event.key === 'ArrowDown' || event.key === 'ArrowUp') {\n event.preventDefault();\n this.toggleValueDropdown();\n const valueList = this.selectedField.valueList;\n this.valueHighlightIndex = valueList.findIndex(v => v.value === this.filter.value);\n if (this.valueHighlightIndex < 0) this.valueHighlightIndex = 0;\n }\n return;\n }\n\n this.handleDropdownKeydown(\n event,\n this.selectedField.valueList,\n this.valueHighlightIndex,\n (index) => this.valueHighlightIndex = index,\n (item) => this.selectValueFromOption(item.value),\n (item) => item.label,\n () => this.closeValueDropdown()\n );\n }\n\n /**\n * Generic handler for dropdown keyboard navigation\n */\n private handleDropdownKeydown<T>(\n event: KeyboardEvent,\n items: T[],\n currentIndex: number,\n setIndex: (index: number) => void,\n onSelect: (item: T) => void,\n getLabel: (item: T) => string,\n onClose: () => void\n ): void {\n switch (event.key) {\n case 'ArrowDown':\n event.preventDefault();\n setIndex(Math.min(currentIndex + 1, items.length - 1));\n this.scrollHighlightedItemIntoView();\n break;\n\n case 'ArrowUp':\n event.preventDefault();\n setIndex(Math.max(currentIndex - 1, 0));\n this.scrollHighlightedItemIntoView();\n break;\n\n case 'Enter':\n case ' ':\n event.preventDefault();\n if (currentIndex >= 0 && currentIndex < items.length) {\n onSelect(items[currentIndex]);\n }\n break;\n\n case 'Escape':\n case 'Tab':\n event.preventDefault();\n onClose();\n break;\n\n case 'Home':\n event.preventDefault();\n setIndex(0);\n this.scrollHighlightedItemIntoView();\n break;\n\n case 'End':\n event.preventDefault();\n setIndex(items.length - 1);\n this.scrollHighlightedItemIntoView();\n break;\n\n default:\n // Type-ahead: jump to first item starting with typed character\n if (event.key.length === 1 && /[a-zA-Z0-9]/.test(event.key)) {\n const char = event.key.toLowerCase();\n const startIndex = currentIndex + 1;\n\n // Search from current position to end, then from start\n for (let i = 0; i < items.length; i++) {\n const idx = (startIndex + i) % items.length;\n const label = getLabel(items[idx]).toLowerCase();\n if (label.startsWith(char)) {\n setIndex(idx);\n this.scrollHighlightedItemIntoView();\n break;\n }\n }\n }\n break;\n }\n }\n\n /**\n * Scroll the highlighted dropdown item into view\n */\n private scrollHighlightedItemIntoView(): void {\n // Use setTimeout to let Angular update the DOM first\n setTimeout(() => {\n const highlightedEl = this.elementRef.nativeElement.querySelector('.dropdown-item.highlighted');\n if (highlightedEl) {\n highlightedEl.scrollIntoView({ block: 'nearest', behavior: 'smooth' });\n }\n }, 0);\n }\n\n // ========================================\n // DISPLAY HELPERS\n // ========================================\n\n /**\n * Get the display name for the currently selected field\n */\n getSelectedFieldDisplayName(): string {\n if (!this.filter.field) return 'Select field...';\n const field = this.fields.find(f => f.name === this.filter.field);\n return field?.displayName || this.filter.field;\n }\n\n /**\n * Get the label for the currently selected operator\n */\n getSelectedOperatorLabel(): string {\n if (!this.filter.operator) return 'Select...';\n const op = this.availableOperators.find(o => o.value === this.filter.operator);\n return op?.label || this.filter.operator;\n }\n\n /**\n * Get the label for the currently selected value (for value list dropdowns)\n */\n getSelectedValueLabel(): string {\n if (!this.filter.value || !this.selectedField?.valueList) return 'Select...';\n const option = this.selectedField.valueList.find(o => o.value === this.filter.value);\n return option?.label || String(this.filter.value);\n }\n\n // ========================================\n // SELECTION HANDLERS\n // ========================================\n\n /**\n * Handle field selection from custom dropdown\n */\n selectField(fieldName: string): void {\n this.closeFieldDropdown();\n this.onFieldChange(fieldName);\n }\n\n /**\n * Handle operator selection from custom dropdown\n */\n selectOperator(operator: string): void {\n this.closeOperatorDropdown();\n this.onOperatorChange(operator as FilterOperator);\n }\n\n /**\n * Handle value selection from custom dropdown\n */\n selectValue(value: string): void {\n this.closeValueDropdown();\n this.onValueChange(value);\n }\n\n /**\n * Handle value selection from value list option (supports union type)\n */\n selectValueFromOption(value: string | number | boolean): void {\n this.closeValueDropdown();\n this.onValueChange(value);\n }\n\n /**\n * Handle field selection change\n */\n onFieldChange(fieldName: string): void {\n const field = this.fields.find(f => f.name === fieldName);\n if (!field) return;\n\n this.selectedField = field;\n this.availableOperators = getOperatorsForType(field.type);\n\n // Get default operator for the new field type\n const defaultOperator = this.availableOperators[0]?.value || 'eq';\n this.requiresValue = operatorRequiresValue(defaultOperator);\n\n // Emit updated filter with new field and reset value\n this.emitChange({\n field: fieldName,\n operator: defaultOperator,\n value: this.getDefaultValue(field.type)\n });\n }\n\n /**\n * Handle operator selection change\n */\n onOperatorChange(operator: FilterOperator): void {\n this.requiresValue = operatorRequiresValue(operator);\n\n // If operator doesn't require value, clear it\n const value = this.requiresValue ? this.filter.value : null;\n\n this.emitChange({\n ...this.filter,\n operator,\n value\n });\n }\n\n /**\n * Handle value change\n */\n onValueChange(value: unknown): void {\n this.emitChange({\n ...this.filter,\n value\n });\n }\n\n /**\n * Handle boolean toggle\n */\n onBooleanChange(value: boolean): void {\n this.emitChange({\n ...this.filter,\n value\n });\n }\n\n /**\n * Handle date change\n */\n onDateChange(event: Event): void {\n const input = event.target as HTMLInputElement;\n const value = input.value ? new Date(input.value).toISOString() : null;\n this.emitChange({\n ...this.filter,\n value\n });\n }\n\n /**\n * Handle delete button click\n */\n onDelete(): void {\n this.delete.emit();\n }\n\n /**\n * Emit the filter change event\n */\n private emitChange(filter: FilterDescriptor): void {\n this.filterChange.emit(filter);\n }\n\n /**\n * Get default value for a field type\n */\n private getDefaultValue(type: FilterFieldType): unknown {\n switch (type) {\n case 'string':\n return '';\n case 'number':\n return null;\n case 'boolean':\n return true;\n case 'date':\n return null;\n case 'lookup':\n return null;\n default:\n return null;\n }\n }\n\n /**\n * Get the date value formatted for the date input\n */\n getDateInputValue(): string {\n if (!this.filter.value) return '';\n try {\n const date = new Date(this.filter.value as string);\n return date.toISOString().split('T')[0];\n } catch {\n return '';\n }\n }\n\n /**\n * Check if the current field has a value list (dropdown options)\n */\n hasValueList(): boolean {\n return !!(this.selectedField?.valueList && this.selectedField.valueList.length > 0);\n }\n}\n","<div class=\"filter-rule\" [class.disabled]=\"disabled\">\n <!-- Field Selector - Custom Dropdown -->\n <div class=\"custom-dropdown field-dropdown\" [class.open]=\"fieldDropdownOpen\" [class.disabled]=\"disabled\">\n <button\n #fieldDropdownBtn\n type=\"button\"\n class=\"dropdown-trigger\"\n (click)=\"toggleFieldDropdown()\"\n (keydown)=\"onFieldKeydown($event)\"\n [disabled]=\"disabled\">\n <span class=\"dropdown-value\">{{ getSelectedFieldDisplayName() }}</span>\n <i class=\"fa-solid fa-chevron-down dropdown-arrow\"></i>\n </button>\n @if (fieldDropdownOpen) {\n <div class=\"dropdown-menu\">\n @for (field of fields; track field.name; let i = $index) {\n <div\n class=\"dropdown-item\"\n [class.selected]=\"field.name === filter.field\"\n [class.highlighted]=\"i === fieldHighlightIndex\"\n (click)=\"selectField(field.name)\">\n {{ field.displayName }}\n </div>\n }\n @if (fields.length === 0) {\n <div class=\"dropdown-empty\">No fields available</div>\n }\n </div>\n }\n </div>\n\n <!-- Operator Selector - Custom Dropdown -->\n <div class=\"custom-dropdown operator-dropdown\" [class.open]=\"operatorDropdownOpen\" [class.disabled]=\"disabled || !selectedField\">\n <button\n #operatorDropdownBtn\n type=\"button\"\n class=\"dropdown-trigger\"\n (click)=\"toggleOperatorDropdown()\"\n (keydown)=\"onOperatorKeydown($event)\"\n [disabled]=\"disabled || !selectedField\">\n <span class=\"dropdown-value\">{{ getSelectedOperatorLabel() }}</span>\n <i class=\"fa-solid fa-chevron-down dropdown-arrow\"></i>\n </button>\n @if (operatorDropdownOpen) {\n <div class=\"dropdown-menu\">\n @for (op of availableOperators; track op.value; let i = $index) {\n <div\n class=\"dropdown-item\"\n [class.selected]=\"op.value === filter.operator\"\n [class.highlighted]=\"i === operatorHighlightIndex\"\n (click)=\"selectOperator(op.value)\">\n {{ op.label }}\n </div>\n }\n </div>\n }\n </div>\n\n <!-- Value Editor - varies by field type -->\n @if (requiresValue && selectedField) {\n <!-- String with value list (custom dropdown) -->\n @if (selectedField.type === 'string' && hasValueList()) {\n <div class=\"custom-dropdown value-dropdown\" [class.open]=\"valueDropdownOpen\" [class.disabled]=\"disabled\">\n <button\n #valueDropdownBtn\n type=\"button\"\n class=\"dropdown-trigger\"\n (click)=\"toggleValueDropdown()\"\n (keydown)=\"onValueKeydown($event)\"\n [disabled]=\"disabled\">\n <span class=\"dropdown-value\">{{ getSelectedValueLabel() }}</span>\n <i class=\"fa-solid fa-chevron-down dropdown-arrow\"></i>\n </button>\n @if (valueDropdownOpen) {\n <div class=\"dropdown-menu\">\n <div\n class=\"dropdown-item\"\n [class.selected]=\"!filter.value\"\n [class.highlighted]=\"0 === valueHighlightIndex\"\n (click)=\"selectValue('')\">\n Select...\n </div>\n @for (option of selectedField.valueList; track option.value; let i = $index) {\n <div\n class=\"dropdown-item\"\n [class.selected]=\"option.value === filter.value\"\n [class.highlighted]=\"(i + 1) === valueHighlightIndex\"\n (click)=\"selectValueFromOption(option.value)\">\n {{ option.label }}\n </div>\n }\n </div>\n }\n </div>\n }\n <!-- String (text input) -->\n @else if (selectedField.type === 'string') {\n <input\n type=\"text\"\n class=\"value-input\"\n [value]=\"filter.value || ''\"\n (input)=\"onValueChange($any($event.target).value)\"\n [disabled]=\"disabled\"\n placeholder=\"Enter value...\">\n }\n <!-- Number -->\n @else if (selectedField.type === 'number') {\n <input\n type=\"number\"\n class=\"value-input\"\n [value]=\"filter.value\"\n (input)=\"onValueChange($any($event.target).valueAsNumber)\"\n [disabled]=\"disabled\"\n placeholder=\"Enter number...\">\n }\n <!-- Boolean -->\n @else if (selectedField.type === 'boolean') {\n <div class=\"value-toggle\">\n <button\n type=\"button\"\n class=\"toggle-btn true\"\n [class.active]=\"filter.value === true\"\n (click)=\"onBooleanChange(true)\"\n [disabled]=\"disabled\">\n True\n </button>\n <button\n type=\"button\"\n class=\"toggle-btn false\"\n [class.active]=\"filter.value === false\"\n (click)=\"onBooleanChange(false)\"\n [disabled]=\"disabled\">\n False\n </button>\n </div>\n }\n <!-- Date -->\n @else if (selectedField.type === 'date') {\n <input\n type=\"date\"\n class=\"value-input value-date\"\n [value]=\"getDateInputValue()\"\n (change)=\"onDateChange($event)\"\n [disabled]=\"disabled\">\n }\n <!-- Lookup (for now, simple text input - can be enhanced with record selector) -->\n @else if (selectedField.type === 'lookup') {\n <input\n type=\"text\"\n class=\"value-input\"\n [value]=\"filter.value || ''\"\n (input)=\"onValueChange($any($event.target).value)\"\n [disabled]=\"disabled\"\n placeholder=\"Enter ID...\">\n }\n }\n\n <!-- Actions -->\n <div class=\"rule-actions\">\n @if (showDelete) {\n <button\n type=\"button\"\n class=\"action-btn delete\"\n (click)=\"onDelete()\"\n [disabled]=\"disabled\"\n title=\"Remove filter\">\n <i class=\"fa-solid fa-times\"></i>\n </button>\n }\n </div>\n</div>\n"]}
@@ -1 +1 @@
1
- {"version":3,"file":"filter.types.js","sourceRoot":"","sources":["../../../src/lib/types/filter.types.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAsDH;;GAEG;AACH,MAAM,UAAU,iBAAiB,CAC/B,MAAoD;IAEpD,OAAO,OAAO,IAAI,MAAM,IAAI,SAAS,IAAI,MAAM,CAAC;AAClD,CAAC;AAED;;GAEG;AACH,MAAM,UAAU,cAAc,CAC5B,MAAoD;IAEpD,OAAO,OAAO,IAAI,MAAM,IAAI,UAAU,IAAI,MAAM,CAAC;AACnD,CAAC;AAmFD;;GAEG;AACH,MAAM,CAAC,MAAM,YAAY,GAA8B;IACrD,KAAK,EAAE,KAAK;IACZ,OAAO,EAAE,EAAE;CACZ,CAAC;AAEF;;GAEG;AACH,MAAM,UAAU,iBAAiB;IAC/B,OAAO,EAAE,KAAK,EAAE,KAAK,EAAE,OAAO,EAAE,EAAE,EAAE,CAAC;AACvC,CAAC;AAED;;;;GAIG;AACH,MAAM,UAAU,gBAAgB,CAAC,KAAa,EAAE,OAAwB,QAAQ;IAC9E,OAAO;QACL,KAAK;QACL,QAAQ,EAAE,kBAAkB,CAAC,IAAI,CAAC;QAClC,KAAK,EAAE,eAAe,CAAC,IAAI,CAAC;KAC7B,CAAC;AACJ,CAAC;AAED;;GAEG;AACH,MAAM,UAAU,kBAAkB,CAAC,IAAqB;IACtD,QAAQ,IAAI,EAAE,CAAC;QACb,KAAK,QAAQ;YACX,OAAO,UAAU,CAAC;QACpB,KAAK,QAAQ;YACX,OAAO,IAAI,CAAC;QACd,KAAK,SAAS;YACZ,OAAO,IAAI,CAAC;QACd,KAAK,MAAM;YACT,OAAO,KAAK,CAAC;QACf,KAAK,QAAQ;YACX,OAAO,IAAI,CAAC;QACd;YACE,OAAO,IAAI,CAAC;IAChB,CAAC;AACH,CAAC;AAED;;GAEG;AACH,MAAM,UAAU,eAAe,CAAC,IAAqB;IACnD,QAAQ,IAAI,EAAE,CAAC;QACb,KAAK,QAAQ;YACX,OAAO,EAAE,CAAC;QACZ,KAAK,QAAQ;YACX,OAAO,IAAI,CAAC;QACd,KAAK,SAAS;YACZ,OAAO,IAAI,CAAC;QACd,KAAK,MAAM;YACT,OAAO,IAAI,CAAC;QACd,KAAK,QAAQ;YACX,OAAO,IAAI,CAAC;QACd;YACE,OAAO,IAAI,CAAC;IAChB,CAAC;AACH,CAAC"}
1
+ {"version":3,"file":"filter.types.js","sourceRoot":"","sources":["../../../src/lib/types/filter.types.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAsDH;;GAEG;AACH,MAAM,UAAU,iBAAiB,CAC/B,MAAoD;IAEpD,OAAO,OAAO,IAAI,MAAM,IAAI,SAAS,IAAI,MAAM,CAAC;AAClD,CAAC;AAED;;GAEG;AACH,MAAM,UAAU,cAAc,CAC5B,MAAoD;IAEpD,OAAO,OAAO,IAAI,MAAM,IAAI,UAAU,IAAI,MAAM,CAAC;AACnD,CAAC;AAmFD;;GAEG;AACH,MAAM,CAAC,MAAM,YAAY,GAA8B;IACrD,KAAK,EAAE,KAAK;IACZ,OAAO,EAAE,EAAE;CACZ,CAAC;AAEF;;GAEG;AACH,MAAM,UAAU,iBAAiB;IAC/B,OAAO,EAAE,KAAK,EAAE,KAAK,EAAE,OAAO,EAAE,EAAE,EAAE,CAAC;AACvC,CAAC;AAED;;;;GAIG;AACH,MAAM,UAAU,gBAAgB,CAAC,KAAa,EAAE,OAAwB,QAAQ;IAC9E,OAAO;QACL,KAAK;QACL,QAAQ,EAAE,kBAAkB,CAAC,IAAI,CAAC;QAClC,KAAK,EAAE,eAAe,CAAC,IAAI,CAAC;KAC7B,CAAC;AACJ,CAAC;AAED;;GAEG;AACH,MAAM,UAAU,kBAAkB,CAAC,IAAqB;IACtD,QAAQ,IAAI,EAAE,CAAC;QACb,KAAK,QAAQ;YACX,OAAO,UAAU,CAAC;QACpB,KAAK,QAAQ;YACX,OAAO,IAAI,CAAC;QACd,KAAK,SAAS;YACZ,OAAO,IAAI,CAAC;QACd,KAAK,MAAM;YACT,OAAO,KAAK,CAAC;QACf,KAAK,QAAQ;YACX,OAAO,IAAI,CAAC;QACd;YACE,OAAO,IAAI,CAAC;IAChB,CAAC;AACH,CAAC;AAED;;GAEG;AACH,MAAM,UAAU,eAAe,CAAC,IAAqB;IACnD,QAAQ,IAAI,EAAE,CAAC;QACb,KAAK,QAAQ;YACX,OAAO,EAAE,CAAC;QACZ,KAAK,QAAQ;YACX,OAAO,IAAI,CAAC;QACd,KAAK,SAAS;YACZ,OAAO,IAAI,CAAC;QACd,KAAK,MAAM;YACT,OAAO,IAAI,CAAC;QACd,KAAK,QAAQ;YACX,OAAO,IAAI,CAAC;QACd;YACE,OAAO,IAAI,CAAC;IAChB,CAAC;AACH,CAAC","sourcesContent":["/**\n * Filter Types - Kendo-compatible filter descriptor interfaces\n *\n * These types match the Kendo UI filter format used in UserView.FilterState\n * to ensure backward compatibility with existing saved views.\n */\n\n/**\n * Available filter operators\n * These match the operators supported by Kendo and the GenerateWhereClause method\n */\nexport type FilterOperator =\n // Equality\n | 'eq' // equals\n | 'neq' // not equals\n // Comparison (numbers, dates)\n | 'gt' // greater than\n | 'gte' // greater than or equal\n | 'lt' // less than\n | 'lte' // less than or equal\n // String operations\n | 'contains' // contains substring\n | 'doesnotcontain' // does not contain substring\n | 'startswith' // starts with\n | 'endswith' // ends with\n // Null checks\n | 'isnull' // is null\n | 'isnotnull' // is not null\n | 'isempty' // is empty (alias for isnull)\n | 'isnotempty'; // is not empty (alias for isnotnull)\n\n/**\n * Logical operators for combining filters\n */\nexport type FilterLogic = 'and' | 'or';\n\n/**\n * A single filter condition (Kendo FilterDescriptor)\n */\nexport interface FilterDescriptor {\n /** The field name to filter on */\n field: string;\n /** The filter operator */\n operator: FilterOperator;\n /** The value to filter by (type depends on field type) */\n value: unknown;\n}\n\n/**\n * A group of filters combined with AND/OR logic (Kendo CompositeFilterDescriptor)\n * Filters can be nested to create complex expressions\n */\nexport interface CompositeFilterDescriptor {\n /** The logical operator to combine filters */\n logic: FilterLogic;\n /** Array of filters - can be simple FilterDescriptor or nested CompositeFilterDescriptor */\n filters: (FilterDescriptor | CompositeFilterDescriptor)[];\n}\n\n/**\n * Type guard to check if a filter is a composite (group) filter\n */\nexport function isCompositeFilter(\n filter: FilterDescriptor | CompositeFilterDescriptor\n): filter is CompositeFilterDescriptor {\n return 'logic' in filter && 'filters' in filter;\n}\n\n/**\n * Type guard to check if a filter is a simple filter descriptor\n */\nexport function isSimpleFilter(\n filter: FilterDescriptor | CompositeFilterDescriptor\n): filter is FilterDescriptor {\n return 'field' in filter && 'operator' in filter;\n}\n\n/**\n * Field types supported by the filter builder\n */\nexport type FilterFieldType = 'string' | 'number' | 'boolean' | 'date' | 'lookup';\n\n/**\n * Metadata about a field that can be filtered\n */\nexport interface FilterFieldInfo {\n /** The field name (must match entity field name) */\n name: string;\n /** Display name shown in the UI */\n displayName: string;\n /** The data type of the field */\n type: FilterFieldType;\n /** For lookup fields, the entity name to look up records from */\n lookupEntityName?: string;\n /** For fields with a fixed set of values, the available options */\n valueList?: FilterValueOption[];\n}\n\n/**\n * A value option for dropdown/select fields\n */\nexport interface FilterValueOption {\n /** The actual value stored */\n value: string | number | boolean;\n /** The display label shown to the user */\n label: string;\n}\n\n/**\n * Configuration options for the filter builder component\n */\nexport interface FilterBuilderConfig {\n /** Allow nested AND/OR groups (default: true) */\n allowGroups: boolean;\n /** Maximum nesting depth for groups (default: 3) */\n maxDepth: number;\n /** Show the Clear All button (default: true) */\n showClearButton: boolean;\n /** Show the Apply button (default: false) */\n showApplyButton: boolean;\n /** Emit filterChange on every change (default: true). If false, only emits on Apply */\n applyOnChange: boolean;\n /** Show quick filter chips at the top (default: false) */\n showQuickFilters?: boolean;\n /** Predefined quick filters to show */\n quickFilters?: QuickFilterDefinition[];\n /** Show the generated filter summary at the bottom (default: false) */\n showSummary?: boolean;\n /** Show the \"Add Group\" button (default: true) */\n showAddGroup?: boolean;\n /** Placeholder text for empty state (default: \"No filters applied\") */\n emptyMessage?: string;\n}\n\n/**\n * A predefined quick filter that users can apply with one click\n */\nexport interface QuickFilterDefinition {\n /** Unique identifier for the quick filter */\n id: string;\n /** Display label */\n label: string;\n /** Optional icon class (Font Awesome) */\n icon?: string;\n /** The filter to apply when clicked */\n filter: CompositeFilterDescriptor;\n}\n\n/**\n * Event emitted when the filter changes\n */\nexport interface FilterChangeEvent {\n /** The current filter state */\n filter: CompositeFilterDescriptor;\n /** Whether the filter is valid (all required values filled) */\n isValid: boolean;\n}\n\n/**\n * Default empty filter state\n */\nexport const EMPTY_FILTER: CompositeFilterDescriptor = {\n logic: 'and',\n filters: []\n};\n\n/**\n * Create a new empty filter descriptor\n */\nexport function createEmptyFilter(): CompositeFilterDescriptor {\n return { logic: 'and', filters: [] };\n}\n\n/**\n * Create a new filter rule with default values\n * @param field The field name to filter on\n * @param type Optional field type (defaults to 'string')\n */\nexport function createFilterRule(field: string, type: FilterFieldType = 'string'): FilterDescriptor {\n return {\n field,\n operator: getDefaultOperator(type),\n value: getDefaultValue(type)\n };\n}\n\n/**\n * Get the default operator for a field type\n */\nexport function getDefaultOperator(type: FilterFieldType): FilterOperator {\n switch (type) {\n case 'string':\n return 'contains';\n case 'number':\n return 'eq';\n case 'boolean':\n return 'eq';\n case 'date':\n return 'gte';\n case 'lookup':\n return 'eq';\n default:\n return 'eq';\n }\n}\n\n/**\n * Get the default value for a field type\n */\nexport function getDefaultValue(type: FilterFieldType): unknown {\n switch (type) {\n case 'string':\n return '';\n case 'number':\n return null;\n case 'boolean':\n return true;\n case 'date':\n return null;\n case 'lookup':\n return null;\n default:\n return null;\n }\n}\n"]}
@@ -1 +1 @@
1
- {"version":3,"file":"operators.js","sourceRoot":"","sources":["../../../src/lib/types/operators.ts"],"names":[],"mappings":"AAAA;;GAEG;AAgBH;;GAEG;AACH,MAAM,CAAC,MAAM,gBAAgB,GAAmB;IAC9C,EAAE,KAAK,EAAE,UAAU,EAAE,KAAK,EAAE,UAAU,EAAE,aAAa,EAAE,IAAI,EAAE;IAC7D,EAAE,KAAK,EAAE,gBAAgB,EAAE,KAAK,EAAE,kBAAkB,EAAE,aAAa,EAAE,IAAI,EAAE;IAC3E,EAAE,KAAK,EAAE,IAAI,EAAE,KAAK,EAAE,QAAQ,EAAE,aAAa,EAAE,IAAI,EAAE;IACrD,EAAE,KAAK,EAAE,KAAK,EAAE,KAAK,EAAE,YAAY,EAAE,aAAa,EAAE,IAAI,EAAE;IAC1D,EAAE,KAAK,EAAE,YAAY,EAAE,KAAK,EAAE,aAAa,EAAE,aAAa,EAAE,IAAI,EAAE;IAClE,EAAE,KAAK,EAAE,UAAU,EAAE,KAAK,EAAE,WAAW,EAAE,aAAa,EAAE,IAAI,EAAE;IAC9D,EAAE,KAAK,EAAE,SAAS,EAAE,KAAK,EAAE,UAAU,EAAE,aAAa,EAAE,KAAK,EAAE;IAC7D,EAAE,KAAK,EAAE,YAAY,EAAE,KAAK,EAAE,cAAc,EAAE,aAAa,EAAE,KAAK,EAAE;CACrE,CAAC;AAEF;;GAEG;AACH,MAAM,CAAC,MAAM,gBAAgB,GAAmB;IAC9C,EAAE,KAAK,EAAE,IAAI,EAAE,KAAK,EAAE,QAAQ,EAAE,aAAa,EAAE,IAAI,EAAE;IACrD,EAAE,KAAK,EAAE,KAAK,EAAE,KAAK,EAAE,YAAY,EAAE,aAAa,EAAE,IAAI,EAAE;IAC1D,EAAE,KAAK,EAAE,IAAI,EAAE,KAAK,EAAE,cAAc,EAAE,aAAa,EAAE,IAAI,EAAE;IAC3D,EAAE,KAAK,EAAE,KAAK,EAAE,KAAK,EAAE,uBAAuB,EAAE,aAAa,EAAE,IAAI,EAAE;IACrE,EAAE,KAAK,EAAE,IAAI,EAAE,KAAK,EAAE,WAAW,EAAE,aAAa,EAAE,IAAI,EAAE;IACxD,EAAE,KAAK,EAAE,KAAK,EAAE,KAAK,EAAE,oBAAoB,EAAE,aAAa,EAAE,IAAI,EAAE;IAClE,EAAE,KAAK,EAAE,QAAQ,EAAE,KAAK,EAAE,UAAU,EAAE,aAAa,EAAE,KAAK,EAAE;IAC5D,EAAE,KAAK,EAAE,WAAW,EAAE,KAAK,EAAE,cAAc,EAAE,aAAa,EAAE,KAAK,EAAE;CACpE,CAAC;AAEF;;GAEG;AACH,MAAM,CAAC,MAAM,iBAAiB,GAAmB;IAC/C,EAAE,KAAK,EAAE,IAAI,EAAE,KAAK,EAAE,IAAI,EAAE,aAAa,EAAE,IAAI,EAAE;IACjD,EAAE,KAAK,EAAE,KAAK,EAAE,KAAK,EAAE,QAAQ,EAAE,aAAa,EAAE,IAAI,EAAE;IACtD,EAAE,KAAK,EAAE,QAAQ,EAAE,KAAK,EAAE,UAAU,EAAE,aAAa,EAAE,KAAK,EAAE;IAC5D,EAAE,KAAK,EAAE,WAAW,EAAE,KAAK,EAAE,cAAc,EAAE,aAAa,EAAE,KAAK,EAAE;CACpE,CAAC;AAEF;;GAEG;AACH,MAAM,CAAC,MAAM,cAAc,GAAmB;IAC5C,EAAE,KAAK,EAAE,IAAI,EAAE,KAAK,EAAE,QAAQ,EAAE,aAAa,EAAE,IAAI,EAAE;IACrD,EAAE,KAAK,EAAE,KAAK,EAAE,KAAK,EAAE,YAAY,EAAE,aAAa,EAAE,IAAI,EAAE;IAC1D,EAAE,KAAK,EAAE,IAAI,EAAE,KAAK,EAAE,UAAU,EAAE,aAAa,EAAE,IAAI,EAAE;IACvD,EAAE,KAAK,EAAE,KAAK,EAAE,KAAK,EAAE,gBAAgB,EAAE,aAAa,EAAE,IAAI,EAAE;IAC9D,EAAE,KAAK,EAAE,IAAI,EAAE,KAAK,EAAE,WAAW,EAAE,aAAa,EAAE,IAAI,EAAE;IACxD,EAAE,KAAK,EAAE,KAAK,EAAE,KAAK,EAAE,iBAAiB,EAAE,aAAa,EAAE,IAAI,EAAE;IAC/D,EAAE,KAAK,EAAE,QAAQ,EAAE,KAAK,EAAE,UAAU,EAAE,aAAa,EAAE,KAAK,EAAE;IAC5D,EAAE,KAAK,EAAE,WAAW,EAAE,KAAK,EAAE,cAAc,EAAE,aAAa,EAAE,KAAK,EAAE;CACpE,CAAC;AAEF;;;GAGG;AACH,MAAM,CAAC,MAAM,gBAAgB,GAAmB;IAC9C,EAAE,KAAK,EAAE,IAAI,EAAE,KAAK,EAAE,QAAQ,EAAE,aAAa,EAAE,IAAI,EAAE;IACrD,EAAE,KAAK,EAAE,KAAK,EAAE,KAAK,EAAE,YAAY,EAAE,aAAa,EAAE,IAAI,EAAE;IAC1D,EAAE,KAAK,EAAE,UAAU,EAAE,KAAK,EAAE,UAAU,EAAE,aAAa,EAAE,IAAI,EAAE;IAC7D,EAAE,KAAK,EAAE,gBAAgB,EAAE,KAAK,EAAE,kBAAkB,EAAE,aAAa,EAAE,IAAI,EAAE;IAC3E,EAAE,KAAK,EAAE,YAAY,EAAE,KAAK,EAAE,aAAa,EAAE,aAAa,EAAE,IAAI,EAAE;IAClE,EAAE,KAAK,EAAE,UAAU,EAAE,KAAK,EAAE,WAAW,EAAE,aAAa,EAAE,IAAI,EAAE;IAC9D,EAAE,KAAK,EAAE,QAAQ,EAAE,KAAK,EAAE,UAAU,EAAE,aAAa,EAAE,KAAK,EAAE;IAC5D,EAAE,KAAK,EAAE,WAAW,EAAE,KAAK,EAAE,cAAc,EAAE,aAAa,EAAE,KAAK,EAAE;CACpE,CAAC;AAEF;;GAEG;AACH,MAAM,UAAU,mBAAmB,CAAC,IAAqB;IACvD,QAAQ,IAAI,EAAE,CAAC;QACb,KAAK,QAAQ;YACX,OAAO,gBAAgB,CAAC;QAC1B,KAAK,QAAQ;YACX,OAAO,gBAAgB,CAAC;QAC1B,KAAK,SAAS;YACZ,OAAO,iBAAiB,CAAC;QAC3B,KAAK,MAAM;YACT,OAAO,cAAc,CAAC;QACxB,KAAK,QAAQ;YACX,OAAO,gBAAgB,CAAC;QAC1B;YACE,OAAO,gBAAgB,CAAC;IAC5B,CAAC;AACH,CAAC;AAED;;GAEG;AACH,MAAM,UAAU,eAAe,CAAC,QAAwB,EAAE,IAAqB;IAC7E,MAAM,SAAS,GAAG,mBAAmB,CAAC,IAAI,CAAC,CAAC;IAC5C,OAAO,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,KAAK,KAAK,QAAQ,CAAC,CAAC;AACrD,CAAC;AAED;;GAEG;AACH,MAAM,UAAU,qBAAqB,CAAC,QAAwB;IAC5D,MAAM,aAAa,GAAqB,CAAC,QAAQ,EAAE,WAAW,EAAE,SAAS,EAAE,YAAY,CAAC,CAAC;IACzF,OAAO,CAAC,aAAa,CAAC,QAAQ,CAAC,QAAQ,CAAC,CAAC;AAC3C,CAAC"}
1
+ {"version":3,"file":"operators.js","sourceRoot":"","sources":["../../../src/lib/types/operators.ts"],"names":[],"mappings":"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","sourcesContent":["/**\n * Operator Definitions - Maps field types to available operators\n */\n\nimport { FilterOperator, FilterFieldType } from './filter.types';\n\n/**\n * Operator metadata for display in the UI\n */\nexport interface OperatorInfo {\n /** The operator value */\n value: FilterOperator;\n /** Display label shown in dropdown */\n label: string;\n /** Whether this operator requires a value input (false for isnull, isnotnull) */\n requiresValue: boolean;\n}\n\n/**\n * Operators available for string fields\n */\nexport const STRING_OPERATORS: OperatorInfo[] = [\n { value: 'contains', label: 'contains', requiresValue: true },\n { value: 'doesnotcontain', label: 'does not contain', requiresValue: true },\n { value: 'eq', label: 'equals', requiresValue: true },\n { value: 'neq', label: 'not equals', requiresValue: true },\n { value: 'startswith', label: 'starts with', requiresValue: true },\n { value: 'endswith', label: 'ends with', requiresValue: true },\n { value: 'isempty', label: 'is empty', requiresValue: false },\n { value: 'isnotempty', label: 'is not empty', requiresValue: false }\n];\n\n/**\n * Operators available for number fields\n */\nexport const NUMBER_OPERATORS: OperatorInfo[] = [\n { value: 'eq', label: 'equals', requiresValue: true },\n { value: 'neq', label: 'not equals', requiresValue: true },\n { value: 'gt', label: 'greater than', requiresValue: true },\n { value: 'gte', label: 'greater than or equal', requiresValue: true },\n { value: 'lt', label: 'less than', requiresValue: true },\n { value: 'lte', label: 'less than or equal', requiresValue: true },\n { value: 'isnull', label: 'is empty', requiresValue: false },\n { value: 'isnotnull', label: 'is not empty', requiresValue: false }\n];\n\n/**\n * Operators available for boolean fields\n */\nexport const BOOLEAN_OPERATORS: OperatorInfo[] = [\n { value: 'eq', label: 'is', requiresValue: true },\n { value: 'neq', label: 'is not', requiresValue: true },\n { value: 'isnull', label: 'is empty', requiresValue: false },\n { value: 'isnotnull', label: 'is not empty', requiresValue: false }\n];\n\n/**\n * Operators available for date fields\n */\nexport const DATE_OPERATORS: OperatorInfo[] = [\n { value: 'eq', label: 'equals', requiresValue: true },\n { value: 'neq', label: 'not equals', requiresValue: true },\n { value: 'gt', label: 'is after', requiresValue: true },\n { value: 'gte', label: 'is on or after', requiresValue: true },\n { value: 'lt', label: 'is before', requiresValue: true },\n { value: 'lte', label: 'is on or before', requiresValue: true },\n { value: 'isnull', label: 'is empty', requiresValue: false },\n { value: 'isnotnull', label: 'is not empty', requiresValue: false }\n];\n\n/**\n * Operators available for lookup/foreign key fields\n * Include text-based operators since users often filter by display values\n */\nexport const LOOKUP_OPERATORS: OperatorInfo[] = [\n { value: 'eq', label: 'equals', requiresValue: true },\n { value: 'neq', label: 'not equals', requiresValue: true },\n { value: 'contains', label: 'contains', requiresValue: true },\n { value: 'doesnotcontain', label: 'does not contain', requiresValue: true },\n { value: 'startswith', label: 'starts with', requiresValue: true },\n { value: 'endswith', label: 'ends with', requiresValue: true },\n { value: 'isnull', label: 'is empty', requiresValue: false },\n { value: 'isnotnull', label: 'is not empty', requiresValue: false }\n];\n\n/**\n * Get the available operators for a given field type\n */\nexport function getOperatorsForType(type: FilterFieldType): OperatorInfo[] {\n switch (type) {\n case 'string':\n return STRING_OPERATORS;\n case 'number':\n return NUMBER_OPERATORS;\n case 'boolean':\n return BOOLEAN_OPERATORS;\n case 'date':\n return DATE_OPERATORS;\n case 'lookup':\n return LOOKUP_OPERATORS;\n default:\n return STRING_OPERATORS;\n }\n}\n\n/**\n * Get operator info by value\n */\nexport function getOperatorInfo(operator: FilterOperator, type: FilterFieldType): OperatorInfo | undefined {\n const operators = getOperatorsForType(type);\n return operators.find(op => op.value === operator);\n}\n\n/**\n * Check if an operator requires a value input\n */\nexport function operatorRequiresValue(operator: FilterOperator): boolean {\n const nullOperators: FilterOperator[] = ['isnull', 'isnotnull', 'isempty', 'isnotempty'];\n return !nullOperators.includes(operator);\n}\n"]}
@@ -1 +1 @@
1
- {"version":3,"file":"public-api.js","sourceRoot":"","sources":["../src/public-api.ts"],"names":[],"mappings":"AAAA;;;;;;;GAOG;AAEH,SAAS;AACT,OAAO,EAAE,mBAAmB,EAAE,MAAM,6BAA6B,CAAC;AAElE,aAAa;AACb,OAAO,EAAE,sBAAsB,EAAE,MAAM,+CAA+C,CAAC;AACvF,OAAO,EAAE,oBAAoB,EAAE,MAAM,2CAA2C,CAAC;AACjF,OAAO,EAAE,mBAAmB,EAAE,MAAM,yCAAyC,CAAC;AAE9E,QAAQ;AACR,OAAO,EASL,iBAAiB,EACjB,cAAc,EACd,iBAAiB,EACjB,gBAAgB,EACjB,MAAM,0BAA0B,CAAC;AAElC,YAAY;AACZ,OAAO,EAEL,gBAAgB,EAChB,gBAAgB,EAChB,iBAAiB,EACjB,cAAc,EACd,gBAAgB,EAChB,mBAAmB,EACnB,eAAe,EACf,qBAAqB,EACtB,MAAM,uBAAuB,CAAC"}
1
+ {"version":3,"file":"public-api.js","sourceRoot":"","sources":["../src/public-api.ts"],"names":[],"mappings":"AAAA;;;;;;;GAOG;AAEH,SAAS;AACT,OAAO,EAAE,mBAAmB,EAAE,MAAM,6BAA6B,CAAC;AAElE,aAAa;AACb,OAAO,EAAE,sBAAsB,EAAE,MAAM,+CAA+C,CAAC;AACvF,OAAO,EAAE,oBAAoB,EAAE,MAAM,2CAA2C,CAAC;AACjF,OAAO,EAAE,mBAAmB,EAAE,MAAM,yCAAyC,CAAC;AAE9E,QAAQ;AACR,OAAO,EASL,iBAAiB,EACjB,cAAc,EACd,iBAAiB,EACjB,gBAAgB,EACjB,MAAM,0BAA0B,CAAC;AAElC,YAAY;AACZ,OAAO,EAEL,gBAAgB,EAChB,gBAAgB,EAChB,iBAAiB,EACjB,cAAc,EACd,gBAAgB,EAChB,mBAAmB,EACnB,eAAe,EACf,qBAAqB,EACtB,MAAM,uBAAuB,CAAC","sourcesContent":["/**\n * @memberjunction/ng-filter-builder\n *\n * A modern, intuitive filter builder component for Angular applications.\n * Creates complex boolean filter expressions with Kendo-compatible JSON output.\n *\n * @packageDocumentation\n */\n\n// Module\nexport { FilterBuilderModule } from './lib/filter-builder.module';\n\n// Components\nexport { FilterBuilderComponent } from './lib/filter-builder/filter-builder.component';\nexport { FilterGroupComponent } from './lib/filter-group/filter-group.component';\nexport { FilterRuleComponent } from './lib/filter-rule/filter-rule.component';\n\n// Types\nexport {\n FilterOperator,\n FilterLogic,\n FilterFieldType,\n FilterDescriptor,\n CompositeFilterDescriptor,\n FilterFieldInfo,\n FilterValueOption,\n FilterBuilderConfig,\n isCompositeFilter,\n isSimpleFilter,\n createEmptyFilter,\n createFilterRule\n} from './lib/types/filter.types';\n\n// Operators\nexport {\n OperatorInfo,\n STRING_OPERATORS,\n NUMBER_OPERATORS,\n BOOLEAN_OPERATORS,\n DATE_OPERATORS,\n LOOKUP_OPERATORS,\n getOperatorsForType,\n getOperatorInfo,\n operatorRequiresValue\n} from './lib/types/operators';\n"]}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@memberjunction/ng-filter-builder",
3
- "version": "5.3.1",
3
+ "version": "5.4.0",
4
4
  "description": "MemberJunction: Angular Filter Builder Component - a modern, intuitive filter builder for creating complex boolean filter expressions with portable JSON format.",
5
5
  "main": "./dist/public-api.js",
6
6
  "typings": "./dist/public-api.d.ts",
@@ -33,7 +33,7 @@
33
33
  },
34
34
  "dependencies": {
35
35
  "@angular/platform-browser": "21.1.3",
36
- "@memberjunction/core": "5.3.1",
36
+ "@memberjunction/core": "5.4.0",
37
37
  "tslib": "^2.8.1"
38
38
  },
39
39
  "sideEffects": false,