diff --git a/packages/datalib/src/PerspectiveDataPattern.ts b/packages/datalib/src/PerspectiveDataPattern.ts index d51e20349..876ffc00a 100644 --- a/packages/datalib/src/PerspectiveDataPattern.ts +++ b/packages/datalib/src/PerspectiveDataPattern.ts @@ -7,7 +7,7 @@ import _isBoolean from 'lodash/isBoolean'; import _isArray from 'lodash/isArray'; import { safeJsonParse } from 'dbgate-tools'; -export type PerspectiveDataPatternColumnType = 'null' | 'string' | 'number' | 'boolean' | 'json'; +export type PerspectiveDataPatternColumnType = 'null' | 'oid' | 'string' | 'number' | 'boolean' | 'json'; export interface PerspectiveDataPatternColumn { name: string; @@ -29,6 +29,7 @@ function detectValueType(value): PerspectiveDataPatternColumnType { if (_isString(value)) return 'string'; if (_isNumber(value)) return 'number'; if (_isBoolean(value)) return 'boolean'; + if (value?.$oid) return 'oid'; if (_isPlainObject(value) || _isArray(value)) return 'json'; if (value == null) return 'null'; } diff --git a/packages/datalib/src/PerspectiveTreeNode.ts b/packages/datalib/src/PerspectiveTreeNode.ts index 13ca89456..ae9d8cd9c 100644 --- a/packages/datalib/src/PerspectiveTreeNode.ts +++ b/packages/datalib/src/PerspectiveTreeNode.ts @@ -818,6 +818,9 @@ export class PerspectivePatternColumnNode extends PerspectiveTreeNode { // } get icon() { + if (this.column.types.includes('json')) { + return 'img json'; + } return 'img column'; } @@ -885,6 +888,10 @@ export class PerspectivePatternColumnNode extends PerspectiveTreeNode { } get filterInfo(): PerspectiveFilterColumnInfo { + if (this.isChildColumn) { + return null; + } + return { columnName: this.columnName, filterType: this.filterType, diff --git a/packages/web/src/designer/ColumnLine.svelte b/packages/web/src/designer/ColumnLine.svelte index 096d542d1..4a3284e8a 100644 --- a/packages/web/src/designer/ColumnLine.svelte +++ b/packages/web/src/designer/ColumnLine.svelte @@ -61,6 +61,9 @@ } $: sortOrderProps = settings?.getSortOrderProps ? settings?.getSortOrderProps(designerId, column.columnName) : null; + $: iconOverride = settings?.getColumnIconOverride + ? settings?.getColumnIconOverride(designerId, column.columnName) + : null;
{/if} -