>,\r\n required: true\r\n }\r\n },\r\n\r\n setup() {\r\n return {};\r\n },\r\n\r\n template: `\r\n\r\n Configuration of this field type is not supported.\r\n
\r\n`\r\n});\r\n\r\n/**\r\n * Basic field type implementation that is suitable for implementations to\r\n * extend.\r\n */\r\nexport abstract class FieldTypeBase implements IFieldType {\r\n public getTextValue(value: string, _configurationValues: Record): string {\r\n return value ?? \"\";\r\n }\r\n\r\n public getHtmlValue(value: string, configurationValues: Record, _isEscaped?: boolean): string {\r\n return `${escapeHtml(this.getTextValue(value, configurationValues))}`;\r\n }\r\n\r\n public getCondensedTextValue(value: string, configurationValues: Record): string {\r\n return truncate(this.getTextValue(value, configurationValues), 100);\r\n }\r\n\r\n public getCondensedHtmlValue(value: string, configurationValues: Record, _isEscaped?: boolean): string {\r\n return `${escapeHtml(this.getCondensedTextValue(value, configurationValues))}`;\r\n }\r\n\r\n public getFormattedComponent(_configurationValues: Record): Component {\r\n return defineComponent({\r\n name: \"FieldType.Formatted\",\r\n props: { ...getFieldEditorProps(), isEscaped: Boolean },\r\n setup: (props) => {\r\n return {\r\n content: computed(() => {\r\n return this.getHtmlValue(props.modelValue ?? \"\", props.configurationValues, props.isEscaped);\r\n })\r\n };\r\n },\r\n\r\n template: ``\r\n });\r\n }\r\n\r\n public getCondensedFormattedComponent(_configurationValues: Record): Component {\r\n return defineComponent({\r\n name: \"FieldType.CondensedFormatted\",\r\n props: { ...getFieldEditorProps(), isEscaped: Boolean },\r\n setup: (props) => {\r\n return {\r\n content: computed(() => {\r\n return this.getCondensedHtmlValue(props.modelValue ?? \"\", props.configurationValues, props.isEscaped);\r\n })\r\n };\r\n },\r\n\r\n template: ``\r\n });\r\n }\r\n\r\n public getEditComponent(_configurationValues: Record): Component {\r\n return TextEditComponent;\r\n }\r\n\r\n public getConfigurationComponent(): Component {\r\n return unsupportedFieldTypeConfigurationComponent;\r\n }\r\n\r\n public hasDefaultComponent(_configurationValues: Record): boolean {\r\n return true;\r\n }\r\n\r\n public isFilterable(_configurationValues: Record): boolean {\r\n return true;\r\n }\r\n\r\n public getSupportedComparisonTypes(_configurationValues: Record): ComparisonType {\r\n return ComparisonType.EqualTo | ComparisonType.NotEqualTo;\r\n }\r\n\r\n public getFilterComponent(configurationValues: Record): Component | null {\r\n return getStandardFilterComponent(this.getSupportedComparisonTypes(configurationValues), this.getEditComponent(configurationValues));\r\n }\r\n\r\n public getFilterValueDescription(value: ComparisonValue, configurationValues: Record): string {\r\n const valueText = this.getFilterValueText(value, configurationValues);\r\n\r\n if (!value.comparisonType) {\r\n return valueText ? `Is ${valueText}` : \"\";\r\n }\r\n\r\n if (value.comparisonType === ComparisonType.IsBlank || value.comparisonType === ComparisonType.IsNotBlank) {\r\n return getComparisonName(value.comparisonType);\r\n }\r\n\r\n if (valueText === \"\") {\r\n // If the field type supports IsBlank and we have a blank value and\r\n // the selected comparison type is EqualTo or NotEqualTo then perform\r\n // special wrapping around the blank value.\r\n if (this.getSupportedComparisonTypes(configurationValues) & ComparisonType.IsBlank && (value.comparisonType === ComparisonType.EqualTo || value.comparisonType === ComparisonType.NotEqualTo)) {\r\n return `${getComparisonName(value.comparisonType)} ''`;\r\n }\r\n\r\n // No value specified basically means no filter.\r\n return \"\";\r\n }\r\n\r\n return `${getComparisonName(value.comparisonType)} ${valueText}`;\r\n }\r\n\r\n public getFilterValueText(value: ComparisonValue, configurationValues: Record): string {\r\n const text = this.getTextValue(value.value, configurationValues ?? {}) ?? \"\";\r\n\r\n return text ? `'${text}'` : text;\r\n }\r\n\r\n public doesValueMatchFilter(value: string, filterValue: ComparisonValue, configurationValues: Record): boolean {\r\n if (!filterValue.comparisonType) {\r\n return false;\r\n }\r\n\r\n if (!filterValue.value) {\r\n // No comparison value was specified. Attempt to filter on specific\r\n // comparison types that don't need a value.\r\n if (filterValue.comparisonType === ComparisonType.IsBlank) {\r\n return (value ?? \"\") === \"\";\r\n }\r\n else if (filterValue.comparisonType === ComparisonType.IsNotBlank) {\r\n return (value ?? \"\") !== \"\";\r\n }\r\n else if (this.getSupportedComparisonTypes(configurationValues) & ComparisonType.IsBlank) {\r\n // If this filter supports an IsBlank comparison type then\r\n // translate \"EqualTo\" and \"NotEqualTo\" to be \"IsBlank\" and\r\n // \"IsNotBlank\" respectively.\r\n if (filterValue.comparisonType === ComparisonType.EqualTo) {\r\n return (value ?? \"\") === \"\";\r\n }\r\n else if (filterValue.comparisonType === ComparisonType.NotEqualTo) {\r\n return (value ?? \"\") !== \"\";\r\n }\r\n }\r\n\r\n return false;\r\n }\r\n\r\n const numericFilterValue = parseFloat(filterValue.value);\r\n const numericValue = parseFloat(value ?? \"\");\r\n const isNumericComparison = !Number.isNaN(numericFilterValue) && !Number.isNaN(numericValue);\r\n\r\n if (filterValue.comparisonType === ComparisonType.Contains) {\r\n return (value ?? \"\").toLowerCase().includes(filterValue.value.toLowerCase());\r\n }\r\n else if (filterValue.comparisonType === ComparisonType.DoesNotContain) {\r\n return !(value ?? \"\").toLowerCase().includes(filterValue.value.toLowerCase());\r\n }\r\n else if (filterValue.comparisonType === ComparisonType.StartsWith) {\r\n return (value ?? \"\").toLowerCase().startsWith(filterValue.value.toLowerCase());\r\n }\r\n else if (filterValue.comparisonType === ComparisonType.EndsWith) {\r\n return (value ?? \"\").toLowerCase().endsWith(filterValue.value.toLowerCase());\r\n }\r\n else if (filterValue.comparisonType === ComparisonType.EqualTo) {\r\n return (value ?? \"\").toLowerCase() === filterValue.value.toLowerCase();\r\n }\r\n else if (filterValue.comparisonType === ComparisonType.NotEqualTo) {\r\n return (value ?? \"\").toLowerCase() !== filterValue.value.toLowerCase();\r\n }\r\n else if (filterValue.comparisonType === ComparisonType.IsBlank) {\r\n return (value ?? \"\").toLowerCase().trim() === \"\";\r\n }\r\n else if (filterValue.comparisonType === ComparisonType.IsNotBlank) {\r\n return (value ?? \"\").toLowerCase().trim() !== \"\";\r\n }\r\n else if (filterValue.comparisonType === ComparisonType.LessThan) {\r\n return isNumericComparison\r\n ? numericValue < numericFilterValue\r\n : (value ?? \"\").toLowerCase() < filterValue.value.toLowerCase();\r\n }\r\n else if (filterValue.comparisonType === ComparisonType.LessThanOrEqualTo) {\r\n return isNumericComparison\r\n ? numericValue <= numericFilterValue\r\n : (value ?? \"\").toLowerCase() <= filterValue.value.toLowerCase();\r\n }\r\n else if (filterValue.comparisonType === ComparisonType.GreaterThan) {\r\n return isNumericComparison\r\n ? numericValue > numericFilterValue\r\n : (value ?? \"\").toLowerCase() > filterValue.value.toLowerCase();\r\n }\r\n else if (filterValue.comparisonType === ComparisonType.GreaterThanOrEqualTo) {\r\n return isNumericComparison\r\n ? numericValue >= numericFilterValue\r\n : (value ?? \"\").toLowerCase() >= filterValue.value.toLowerCase();\r\n }\r\n\r\n return false;\r\n }\r\n}\r\n"],"names":["unsupportedFieldTypeConfigurationComponent","defineComponent","props","modelValue","type","Object","required","configurationProperties","setup","template","FieldTypeBase","getTextValue","value","_configurationValues","getHtmlValue","configurationValues","_isEscaped","concat","escapeHtml","getCondensedTextValue","truncate","getCondensedHtmlValue","getFormattedComponent","name","_objectSpread","getFieldEditorProps","isEscaped","Boolean","content","computed","_props$modelValue","getCondensedFormattedComponent","_props$modelValue2","getEditComponent","TextEditComponent","getConfigurationComponent","hasDefaultComponent","isFilterable","getSupportedComparisonTypes","ComparisonType","EqualTo","NotEqualTo","getFilterComponent","getStandardFilterComponent","getFilterValueDescription","valueText","getFilterValueText","comparisonType","IsBlank","IsNotBlank","getComparisonName","_this$getTextValue","text","doesValueMatchFilter","filterValue","numericFilterValue","parseFloat","numericValue","isNumericComparison","Number","isNaN","Contains","toLowerCase","includes","DoesNotContain","StartsWith","startsWith","EndsWith","endsWith","trim","LessThan","LessThanOrEqualTo","GreaterThan","GreaterThanOrEqualTo"],"mappings":"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"}